libreofficekit/source/gtk/lokdocview.c | 74 +++++---------------------------- 1 file changed, 13 insertions(+), 61 deletions(-)
New commits: commit 08fe7cfe88928d89c39763a0cfeaa6e2aa66c396 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Jan 12 14:57:05 2015 +0100 libreofficekit: we don't need our own gdk_threads_add_idle() version after all Change-Id: I9d05a3971bd0dd14654d0b0e2a80a263d360505b diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c index d9d8e41..e34936b 100644 --- a/libreofficekit/source/gtk/lokdocview.c +++ b/libreofficekit/source/gtk/lokdocview.c @@ -18,67 +18,6 @@ #define G_SOURCE_REMOVE FALSE #endif -/* Before glib 2.12. */ -#ifndef HAVE_GDK_THREADS_ADD_API -typedef struct -{ - GSourceFunc func; - gpointer data; - GDestroyNotify destroy; -} GdkThreadsDispatch; - -static gboolean -gdk_threads_dispatch (gpointer data) -{ - GdkThreadsDispatch *dispatch = data; - gboolean ret = FALSE; - - gdk_threads_enter (); - ret = dispatch->func (dispatch->data); - gdk_threads_leave (); - - return ret; -} - -static void -gdk_threads_dispatch_free (gpointer data) -{ - GdkThreadsDispatch *dispatch = data; - - if (dispatch->destroy && dispatch->data) - dispatch->destroy (dispatch->data); - - g_slice_free (GdkThreadsDispatch, data); -} - -guint -gdk_threads_add_idle_full (gint priority, - GSourceFunc function, - gpointer data, - GDestroyNotify notify) -{ - GdkThreadsDispatch *dispatch; - - g_return_val_if_fail (function != NULL, 0); - - dispatch = g_slice_new (GdkThreadsDispatch); - dispatch->func = function; - dispatch->data = data; - dispatch->destroy = notify; - - return g_idle_add_full (priority, gdk_threads_dispatch, dispatch, - gdk_threads_dispatch_free); -} - -guint -gdk_threads_add_idle (GSourceFunc function, - gpointer data) -{ - return gdk_threads_add_idle_full (G_PRIORITY_DEFAULT_IDLE, - function, data, NULL); -} -#endif /* HAVE_GDK_THREADS_ADD_API */ - static void lok_docview_class_init( LOKDocViewClass* pClass ); static void lok_docview_init( LOKDocView* pDocView ); @@ -218,7 +157,16 @@ void renderDocument( LOKDocView* pDocView ) static gboolean lok_docview_callback(gpointer pData) { LOKDocView* pDocView = pData; + +#if ! GTK_CHECK_VERSION(2,12,0) + GDK_THREADS_ENTER(); +#endif + renderDocument(pDocView); + +#if ! GTK_CHECK_VERSION(2,12,0) + GDK_THREADS_LEAVE(); +#endif return G_SOURCE_REMOVE; } @@ -232,7 +180,11 @@ static void lok_docview_callback_worker(int nType, const char* pPayload, void* p case LOK_CALLBACK_INVALIDATE_TILES: // TODO for now just always render the document. (void)pPayload; +#if GTK_CHECK_VERSION(2,12,0) gdk_threads_add_idle(lok_docview_callback, pDocView); +#else + g_add_idle(lok_docview_callback, pDocView); +#endif break; default: break; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits