summaryrefslogtreecommitdiff
path: root/gtk/gtkselection.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1998-12-15 07:32:11 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-12-15 07:32:11 +0000
commita0c84d6818f278d273b43c651c345f2110bc7f37 (patch)
treecb07d50ab001a4538983c1d0421bcd69d9618cbf /gtk/gtkselection.c
parent58475f05a54f7a165fe92adf8358f59cf0223c08 (diff)
downloadgdk-pixbuf-a0c84d6818f278d273b43c651c345f2110bc7f37.tar.gz
Commented out testthreads from the build process, since we won't have any
Tue Dec 15 01:38:53 1998 Owen Taylor <otaylor@redhat.com> * gtk/Makefile.am: Commented out testthreads from the build process, since we won't have any idea how to create a thread. * configure.in (LIBS): use glib-config ... gthread so we always build a thread-compatible library. * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c: Add GTK_THREADS_ENTER/LEAVE pairs around timeouts and idles to account for the fact that they are no longer called within the GTK+ lock. * gtk/gtkprivate.h: Added definitions for locking the main GTK+ mutex. * gtk/gtkmain.c: Re-implement the main loop in terms of the GLib main loop. * gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading functionality, as it seems better to subsume GDK within the GTK+ lock than vice-versa. * gdk/gdkevents.c: New file, containing event handling bits from gdk.c. * gdk/gdkevents.c: Implement event source for GDK events. * configure.in gdk/gdkevents.c: Removed attempts to subtract base_id, which were already non-functional.
Diffstat (limited to 'gtk/gtkselection.c')
-rw-r--r--gtk/gtkselection.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c
index d9dc09b6f..0b4ea6fa4 100644
--- a/gtk/gtkselection.c
+++ b/gtk/gtkselection.c
@@ -49,6 +49,7 @@
#include <gdk/gdkx.h>
/* we need this for gdk_window_lookup() */
#include "gtkmain.h"
+#include "gtkprivate.h"
#include "gtkselection.h"
#include "gtksignal.h"
@@ -1089,6 +1090,9 @@ static gint
gtk_selection_incr_timeout (GtkIncrInfo *info)
{
GList *tmp_list;
+ gboolean retval;
+
+ GTK_THREADS_ENTER;
/* Determine if retrieval has finished by checking if it still in
list of pending retrievals */
@@ -1116,14 +1120,18 @@ gtk_selection_incr_timeout (GtkIncrInfo *info)
g_free (info);
- return FALSE; /* remove timeout */
+ retval = FALSE; /* remove timeout */
}
else
{
info->idle_time++;
- return TRUE; /* timeout will happen again */
+ retval = TRUE; /* timeout will happen again */
}
+
+ GTK_THREADS_LEAVE;
+
+ return retval;
}
/*************************************************************
@@ -1324,6 +1332,9 @@ static gint
gtk_selection_retrieval_timeout (GtkRetrievalInfo *info)
{
GList *tmp_list;
+ gboolean retval;
+
+ GTK_THREADS_ENTER;
/* Determine if retrieval has finished by checking if it still in
list of pending retrievals */
@@ -1349,15 +1360,18 @@ gtk_selection_retrieval_timeout (GtkRetrievalInfo *info)
g_free (info->buffer);
g_free (info);
- return FALSE; /* remove timeout */
+ retval = FALSE; /* remove timeout */
}
else
{
info->idle_time++;
- return TRUE; /* timeout will happen again */
+ retval = TRUE; /* timeout will happen again */
}
-
+
+ GTK_THREADS_LEAVE;
+
+ return retval;
}
/*************************************************************