row = -1;
     }
     
-    if(col >= 0 && row >= 0) {
+    if(col >= 0 && row >= 0 && col < items_per_line) {
         *out_col = col;
         *out_row = row;
         if(index) {
     if(point2item(view, start_x, start_y, &col, &row, &item_index)) {
         if(view->numsections > 0 && item_index < cxListSize(view->sections[0].section.files)) {
             FileInfo *file = cxListAt(view->sections[0].section.files, item_index);
-            printf("drag file[%d]: %s\n", view->items[item_index].isselected, file->name);
+            printf("%d x %d  drag file[%d]: %s\n", col, row, view->items[item_index].isselected, file->name);
             view->drag_file = file;
             view->drag_item = TRUE;
             if(view->items[item_index].isselected) {