[gjs] object: Register auto generated GType classes as static types
- From: Philip Chimento <pchimento src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs] object: Register auto generated GType classes as static types
- Date: Sat, 1 Apr 2017 20:11:58 +0000 (UTC)
commit 0fe780c49804e40f5279d745d4f2d819f6600fec
Author: Stef Walter <stefw gnome org>
Date: Wed Feb 13 13:08:21 2013 +0100
object: Register auto generated GType classes as static types
We don't support unloading/finalizing of type classes regardless of
whether they're static or plugin. So just use static classes here, as
they'll 'leak' anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=693676
gi/object.cpp | 19 +++----------
gjs-srcs.mk | 2 -
gjs/type-module.cpp | 76 ---------------------------------------------------
gjs/type-module.h | 43 -----------------------------
4 files changed, 4 insertions(+), 136 deletions(-)
---
diff --git a/gi/object.cpp b/gi/object.cpp
index 9dbddaf..f450d5d 100644
--- a/gi/object.cpp
+++ b/gi/object.cpp
@@ -48,7 +48,6 @@
#include "gjs/jsapi-wrapper.h"
#include "gjs/context-private.h"
#include "gjs/mem.h"
-#include "gjs/type-module.h"
#include <util/log.h>
#include <util/hash-x32.h>
@@ -2895,7 +2894,6 @@ gjs_register_interface(JSContext *cx,
guint32 i, n_interfaces, n_properties;
GType *iface_types;
GType interface_type;
- GTypeModule *type_module;
GTypeInfo type_info = {
sizeof (GTypeInterface), /* class_size */
@@ -2939,12 +2937,8 @@ gjs_register_interface(JSContext *cx,
return false;
}
- type_module = G_TYPE_MODULE(gjs_type_module_get());
- interface_type = g_type_module_register_type(type_module,
- G_TYPE_INTERFACE,
- name,
- &type_info,
- (GTypeFlags) 0);
+ interface_type = g_type_register_static(G_TYPE_INTERFACE, name, &type_info,
+ (GTypeFlags) 0);
g_clear_pointer(&name, g_free);
g_type_set_qdata(interface_type, gjs_is_custom_type_quark(), GINT_TO_POINTER(1));
@@ -2976,7 +2970,6 @@ gjs_register_type(JSContext *cx,
gchar *name;
GType instance_type, parent_type;
GTypeQuery query;
- GTypeModule *type_module;
ObjectInstance *parent_priv;
GTypeInfo type_info = {
0, /* class_size */
@@ -3043,12 +3036,8 @@ gjs_register_type(JSContext *cx,
type_info.class_size = query.class_size;
type_info.instance_size = query.instance_size;
- type_module = G_TYPE_MODULE (gjs_type_module_get());
- instance_type = g_type_module_register_type(type_module,
- parent_type,
- name,
- &type_info,
- (GTypeFlags) 0);
+ instance_type = g_type_register_static(parent_type, name, &type_info,
+ (GTypeFlags) 0);
g_free(name);
diff --git a/gjs-srcs.mk b/gjs-srcs.mk
index 2295bf8..1463cab 100644
--- a/gjs-srcs.mk
+++ b/gjs-srcs.mk
@@ -73,8 +73,6 @@ gjs_srcs = \
gjs/runtime.cpp \
gjs/runtime.h \
gjs/stack.cpp \
- gjs/type-module.cpp \
- gjs/type-module.h \
modules/modules.cpp \
modules/modules.h \
util/error.cpp \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]