1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
From: Sebastian Ramacher <sramacher@debian.org>
Date: Wed, 16 Oct 2019 23:59:07 +0200
Subject: Fix GtkKnob type handling
---
src/gtkknob.c | 24 +++---------------------
src/gtkknob.h | 2 +-
2 files changed, 4 insertions(+), 22 deletions(-)
diff --git a/src/gtkknob.c b/src/gtkknob.c
index 7ae6c8e..89766c8 100644
--- a/src/gtkknob.c
+++ b/src/gtkknob.c
@@ -101,25 +101,7 @@ static void gtk_knob_common_initialize(GtkWidget *widget);
static void gtk_knob_common_finalize(void);
-guint gtk_knob_get_type(void) {
- static guint knob_type = 0;
-
- if (!knob_type) {
- GtkTypeInfo knob_info = {
- "GtkKnob",
- sizeof (GtkKnob),
- sizeof (GtkKnobClass),
- (GtkClassInitFunc) gtk_knob_class_init,
- (GtkObjectInitFunc) gtk_knob_init,
- NULL,
- NULL,
- };
-
- knob_type = gtk_type_unique(gtk_widget_get_type(), &knob_info);
- }
-
- return knob_type;
-}
+G_DEFINE_TYPE(GtkKnob, gtk_knob, GTK_TYPE_WIDGET)
static void
@@ -131,7 +113,7 @@ gtk_knob_class_init (GtkKnobClass *class)
GtkObjectClass *object_class = (GtkObjectClass*) class;
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
- parent_class = gtk_type_class(gtk_widget_get_type());
+ parent_class = widget_class;
#if GTK_CHECK_VERSION(2, 0, 0)
gobject_class->finalize = gtk_knob_finalize;
@@ -182,7 +164,7 @@ gtk_knob_init (GtkKnob *knob)
GtkWidget*
gtk_knob_new (GtkAdjustment *adjustment)
{
- GtkKnob *knob = gtk_type_new(gtk_knob_get_type());
+ GtkKnob *knob = g_object_new(GTK_TYPE_KNOB, NULL);
gtk_knob_set_adjustment(knob, adjustment);
diff --git a/src/gtkknob.h b/src/gtkknob.h
index d68f9ce..c7e948b 100644
--- a/src/gtkknob.h
+++ b/src/gtkknob.h
@@ -65,7 +65,7 @@ struct _GtkKnobClass
};
-guint gtk_knob_get_type(void);
+GtkType gtk_knob_get_type(void);
GtkWidget *gtk_knob_new (GtkAdjustment *adjustment);
void gtk_knob_set_fast_rendering(gboolean setting);
|