rem: if (size.height < W_VIEW_HEIGHT(table->tableView)) {
add: if (size.height > W_VIEW_HEIGHT(table->tableView)) {
context: static void scrollToPoint(WMTableView *table, int x, int y){    WMSize size = getTotalSize(table);    int i;    float value, prop;        if (size.width < W_VIEW_WIDTH(table->tableView)) {	prop = (float)size.width / (float)W_VIEW_WIDTH(table->tableView);	value = x * (float)(size.width - W_VIEW_WIDTH(table->tableView));    } else {	prop = 1.0;	value = 0.0;    }    WMSetScrollerParameters(table->hscroll, value, prop);        if (size.height < W_VIEW_HEIGHT(table->tableView)) {	prop = (float)size.height / (float)W_VIEW_HEIGHT(table->tableView);	value = y * (float)(size.height - W_VIEW_HEIGHT(table->tableView));    } else {	prop = 1.0;	value = 0.0;    }    WMSetScrollerParameters(table->vscroll, value, prop);                if (table->editingRow >= 0) {	for (i = 0; i < WMGetArrayItemCount(table->columns); i++) {	    WMTableColumn *column;	    	    column = WMGetFromArray(table->columns, i);	    	    if (column->delegate && column->delegate->beginCellEdit)		(*column->delegate->beginCellEdit)(column->delegate, column, 						   table->editingRow);	}    }    repaintTable(table);}