gdip-pixbuf-loader r39 - trunk/src
- From: doml svn gnome org
- To: svn-commits-list gnome org
- Subject: gdip-pixbuf-loader r39 - trunk/src
- Date: Mon, 25 Feb 2008 02:37:30 +0000 (GMT)
Author: doml
Date: Mon Feb 25 02:37:29 2008
New Revision: 39
URL: http://svn.gnome.org/viewvc/gdip-pixbuf-loader?rev=39&view=rev
Log:
Don't mess around with GTypeModules and whatnot. All of the plugins use the same anim and iter classes, and the plugins are never unloaded. Just check whether the types exist before registering them, and register the types statically.
Modified:
trunk/src/io-gdip-animation.c
trunk/src/io-gdip-animation.h
trunk/src/io-gdip-utils.c
Modified: trunk/src/io-gdip-animation.c
==============================================================================
--- trunk/src/io-gdip-animation.c (original)
+++ trunk/src/io-gdip-animation.c Mon Feb 25 02:37:29 2008
@@ -41,75 +41,6 @@
static gpointer parent_class;
-#define GDIP_CLASS_FULL(name, prefix, base_init, base_finalize, \
- class_init, class_finalize, instance_init, parent_type, \
- abstract, interface_decl) \
-GType \
-prefix ## _get_type (void) \
-{ \
- static GType type = 0; \
- if (G_UNLIKELY (type == 0)) { \
- static GTypeInfo const object_info = { \
- sizeof (name ## Class), \
- (GBaseInitFunc) base_init, \
- (GBaseFinalizeFunc) base_finalize, \
- (GClassInitFunc) class_init, \
- (GClassFinalizeFunc) class_finalize, \
- NULL, /* class_data */ \
- sizeof (name), \
- 0, /* n_preallocs */ \
- (GInstanceInitFunc) instance_init, \
- NULL \
- }; \
- type = g_type_from_name (#name); \
- if (type == 0) { \
- type = g_type_register_static (parent_type, #name, \
- &object_info, (GTypeFlags) abstract); \
- interface_decl \
- } \
- } \
- return type; \
-}
-
-#define GDIP_CLASS(name, prefix, class_init, instance_init, parent) \
- GDIP_CLASS_FULL(name, prefix, NULL, NULL, class_init, NULL, \
- instance_init, parent, 0, {})
-
-#define _GDIP_GTYPE_THREADING_FIXED
-
-#ifdef _GDIP_GTYPE_THREADING_FIXED
-typedef GTypeModule GdipDummyTypeModule;
-typedef GTypeModuleClass GdipDummyTypeModuleClass;
-static gboolean
-gdip_dummy_type_module_load (GTypeModule *module)
-{
- return TRUE;
-}
-static void
-gdip_dummy_type_module_class_init (GTypeModuleClass *gtm_class)
-{
- gtm_class->load = gdip_dummy_type_module_load;
-}
-static GDIP_CLASS (GdipDummyTypeModule, gdip_dummy_type_module,
- gdip_dummy_type_module_class_init, NULL,
- G_TYPE_TYPE_MODULE)
-
-static GTypeModule *static_type_module = NULL;
-#endif
-
-void
-gdip_anim_init (void)
-{
-#ifdef _GDIP_GTYPE_THREADING_FIXED
- if (NULL == static_type_module) {
- static_type_module = g_object_new (gdip_dummy_type_module_get_type(), NULL);
- g_assert (static_type_module != NULL);
- g_type_module_use (static_type_module);
- g_type_module_set_name (static_type_module, "libgdip-builtin");
- }
-#endif
-}
-
GType
gdk_pixbuf_gdip_anim_get_type (void)
{
@@ -128,18 +59,12 @@
(GInstanceInitFunc) NULL,
};
-#ifdef _GDIP_GTYPE_THREADING_FIXED
object_type = g_type_from_name ("GdkPixbufGdipAnim");
if (object_type == 0) {
- object_type = g_type_module_register_type (static_type_module,
- GDK_TYPE_PIXBUF_ANIMATION,
- "GdkPixbufGdipAnim", &object_info, (GTypeFlags) 0);
+ object_type = g_type_register_static (GDK_TYPE_PIXBUF_ANIMATION,
+ g_intern_static_string ("GdkPixbufGdipAnim"),
+ &object_info, 0);
}
-#else
- object_type = g_type_register_static (GDK_TYPE_PIXBUF_ANIMATION,
- g_intern_static_string ("GdkPixbufGdipAnim"),
- &object_info, 0);
-#endif
}
return object_type;
@@ -285,18 +210,12 @@
(GInstanceInitFunc) NULL,
};
-#ifdef _GDIP_GTYPE_THREADING_FIXED
object_type = g_type_from_name ("GdkPixbufGdipAnimIter");
if (object_type == 0) {
- object_type = g_type_module_register_type (static_type_module,
- GDK_TYPE_PIXBUF_ANIMATION_ITER,
- "GdkPixbufGdipAnimIter", &object_info, (GTypeFlags) 0);
+ object_type = g_type_register_static (GDK_TYPE_PIXBUF_ANIMATION_ITER,
+ g_intern_static_string ("GdkPixbufGdipAnimIter"),
+ &object_info, 0);
}
-#else
- object_type = g_type_register_static (GDK_TYPE_PIXBUF_ANIMATION_ITER,
- g_intern_static_string ("GdkPixbufGdipAnimIter"),
- &object_info, 0);
-#endif
}
return object_type;
Modified: trunk/src/io-gdip-animation.h
==============================================================================
--- trunk/src/io-gdip-animation.h (original)
+++ trunk/src/io-gdip-animation.h Mon Feb 25 02:37:29 2008
@@ -114,7 +114,4 @@
int elapsed;
};
-void gdip_anim_init (void);
-
-
#endif
Modified: trunk/src/io-gdip-utils.c
==============================================================================
--- trunk/src/io-gdip-utils.c (original)
+++ trunk/src/io-gdip-utils.c Mon Feb 25 02:37:29 2008
@@ -117,8 +117,6 @@
#undef TRY_LOOKUP
#undef LOOKUP
- gdip_anim_init ();
-
input.GdiplusVersion = 1;
input.DebugEventCallback = NULL;
input.SuppressBackgroundThread = input.SuppressExternalCodecs = FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]