FolderItem *sel_item = NULL, *op_item = NULL;
GtkWidget *scrolledwin = folderview->scrolledwin;
+ if (folderview->drag_timer_id != 0) {
+ g_source_remove(folderview->drag_timer_id);
+ folderview->drag_timer_id = 0;
+ }
+ if (folderview->deferred_refresh_id != 0) {
+ g_source_remove(folderview->deferred_refresh_id);
+ folderview->deferred_refresh_id = 0;
+ }
+ if (folderview->scroll_timeout_id != 0) {
+ g_source_remove(folderview->scroll_timeout_id);
+ folderview->scroll_timeout_id = 0;
+ }
+ if (folderview->postpone_select_id != 0) {
+ g_source_remove(folderview->postpone_select_id);
+ folderview->postpone_select_id = 0;
+ }
+
if (folderview->selected)
sel_item = gtk_cmctree_node_get_row_data(GTK_CMCTREE(ctree), folderview->selected);
if (folderview->opened)
folderview->target_list = gtk_target_list_new(folderview_drag_types, 2);
folderview_list = g_list_append(folderview_list, folderview);
- folderview->deferred_refresh_id = -1;
- folderview->scroll_timeout_id = -1;
+
+ folderview->drag_timer_id = 0;
+ folderview->deferred_refresh_id = 0;
+ folderview->scroll_timeout_id = 0;
+ folderview->postpone_select_id = 0;
+
return folderview;
}
debug_print("doing deferred folderview_set now\n");
folderview_set(folderview);
- folderview->deferred_refresh_id = -1;
+ folderview->deferred_refresh_id = 0;
return FALSE;
}
return;
if (mainwin->lock_count) {
- if (folderview->deferred_refresh_id == -1)
+ if (folderview->deferred_refresh_id == 0)
folderview->deferred_refresh_id =
g_timeout_add(500, folderview_defer_set, folderview);
debug_print("deferred folderview_set\n");
{
PostponedSelectData *psdata = (PostponedSelectData *)data;
debug_print("trying again\n");
+
+ psdata->folderview->postpone_select_id = 0;
psdata->folderview->open_folder = TRUE;
main_window_cursor_normal(psdata->folderview->mainwin);
STATUSBAR_POP(psdata->folderview->mainwin);
item->path ? item->path:item->name);
folderview->open_folder = FALSE;
can_select = TRUE;
- g_timeout_add(500, postpone_select, data);
+ if (folderview->postpone_select_id != 0)
+ g_source_remove(folderview->postpone_select_id);
+ folderview->postpone_select_id = g_timeout_add(500, postpone_select, data);
END_TIMING();
return;
}
static void drag_state_stop(FolderView *folderview)
{
- if (folderview->drag_timer)
- g_source_remove(folderview->drag_timer);
- folderview->drag_timer = 0;
+ if (folderview->drag_timer_id)
+ g_source_remove(folderview->drag_timer_id);
+ folderview->drag_timer_id = 0;
folderview->drag_node = NULL;
}
}
}
folderview->drag_item = NULL;
- folderview->drag_timer = 0;
+ folderview->drag_timer_id = 0;
return FALSE;
}
* we need to call drag_state_stop() */
drag_state_stop(folderview);
/* request expansion */
- if (0 != (folderview->drag_timer = g_timeout_add
+ if (0 != (folderview->drag_timer_id = g_timeout_add
(prefs_common.hover_timeout,
(GSourceFunc)folderview_defer_expand,
folderview))) {
(int)gtk_adjustment_get_page_size(pos);
if (folderview->scroll_value == 0) {
- folderview->scroll_timeout_id = -1;
+ folderview->scroll_timeout_id = 0;
return FALSE;
}
} else {
folderview->scroll_value = 0;
}
- if (folderview->scroll_value != 0 && folderview->scroll_timeout_id == -1) {
+ if (folderview->scroll_value != 0 && folderview->scroll_timeout_id == 0) {
folderview->scroll_timeout_id =
g_timeout_add(30, folderview_dnd_scroll_cb,
folderview);
/* DND states */
GSList *nodes_to_recollapse;
- guint drag_timer; /* timer id */
+ guint drag_timer_id; /* timer id */
FolderItem *drag_item; /* dragged item */
GtkCMCTreeNode *drag_node; /* drag node */
GtkTargetList *target_list; /* DnD */
FolderColumnState col_state[N_FOLDER_COLS];
gint col_pos[N_FOLDER_COLS];
- gint deferred_refresh_id;
Folder *scanning_folder;
GtkUIManager *ui_manager;
GtkActionGroup *popup_common_action_group;
GtkActionGroup *popup_specific_action_group;
- gint scroll_timeout_id;
gint scroll_value;
+ guint deferred_refresh_id;
+ guint scroll_timeout_id;
+ guint postpone_select_id;
};
struct _FolderViewPopup