X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libdocument%2Fev-async-renderer.c;h=5ff9e3eda4c95ed3642164451112435f5bc69b10;hb=1535a8e52feeffa1ad445ca4f1b49b8e5f7b40dd;hp=f0ffce486f1f91b57649b4cf51d61159df835b76;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-async-renderer.c b/libdocument/ev-async-renderer.c index f0ffce48..5ff9e3ed 100644 --- a/libdocument/ev-async-renderer.c +++ b/libdocument/ev-async-renderer.c @@ -21,8 +21,7 @@ #include "config.h" #include "ev-async-renderer.h" - -static void ev_async_renderer_class_init (gpointer g_class); +#include "ev-document.h" enum { @@ -32,42 +31,26 @@ enum static guint signals[LAST_SIGNAL] = { 0 }; -GType -ev_async_renderer_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) - { - const GTypeInfo our_info = - { - sizeof (EvAsyncRendererIface), - NULL, - NULL, - (GClassInitFunc)ev_async_renderer_class_init - }; - - type = g_type_register_static (G_TYPE_INTERFACE, - "EvAsyncRenderer", - &our_info, (GTypeFlags)0); - } - - return type; -} +EV_DEFINE_INTERFACE (EvAsyncRenderer, ev_async_renderer, 0) static void -ev_async_renderer_class_init (gpointer g_class) +ev_async_renderer_class_init (EvAsyncRendererIface *klass) { - signals[RENDER_FINISHED] = - g_signal_new ("render_finished", - EV_TYPE_ASYNC_RENDERER, - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EvAsyncRendererIface, render_finished), - NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, - 1, - GDK_TYPE_PIXBUF); + static gboolean initialized = FALSE; + + if (!initialized) { + signals[RENDER_FINISHED] = + g_signal_new ("render_finished", + EV_TYPE_ASYNC_RENDERER, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EvAsyncRendererIface, render_finished), + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, + GDK_TYPE_PIXBUF); + initialized = TRUE; + } } void