File: 0002-Fix-GtkKnob-type-handling.patch

package info (click to toggle)
xsynth-dssi 0.9.4-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 2,216 kB
  • sloc: sh: 10,156; ansic: 10,117; makefile: 79
file content (71 lines) | stat: -rw-r--r-- 1,980 bytes parent folder | download
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);