aboutsummaryrefslogtreecommitdiff
path: root/src/folderview.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-09-17 07:26:17 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-09-17 07:26:17 +0000
commit71f191b2a609e291a3afcf726ab8aacab572637b (patch)
treefa744ee9944df82548c6afb33451455c4ce7c61a /src/folderview.c
parent24c2edfeacce97b6e4c3783c53cbd2532088af95 (diff)
introduced multi-threading.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2255 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/folderview.c')
-rw-r--r--src/folderview.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/folderview.c b/src/folderview.c
index f938e5c1..b0976750 100644
--- a/src/folderview.c
+++ b/src/folderview.c
@@ -3001,6 +3001,9 @@ static gint auto_expand_timeout(gpointer data)
FolderView *folderview = data;
GtkTreeView *treeview = GTK_TREE_VIEW(folderview->treeview);
GtkTreePath *path = NULL;
+ gint ret;
+
+ gdk_threads_enter();
gtk_tree_view_get_drag_dest_row(treeview, &path, NULL);
@@ -3009,9 +3012,13 @@ static gint auto_expand_timeout(gpointer data)
gtk_tree_path_free(path);
folderview->expand_timeout = 0;
- return FALSE;
+ ret = FALSE;
} else
- return TRUE;
+ ret = TRUE;
+
+ gdk_threads_leave();
+
+ return ret;
}
static void remove_auto_expand_timeout(FolderView *folderview)
@@ -3026,9 +3033,13 @@ static gint auto_scroll_timeout(gpointer data)
{
FolderView *folderview = data;
+ gdk_threads_enter();
+
gtkut_tree_view_vertical_autoscroll
(GTK_TREE_VIEW(folderview->treeview));
+ gdk_threads_leave();
+
return TRUE;
}