<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From 1868e50374fd34af4ebe8e3c348d0122ada90876 Mon Sep 17 00:00:00 2001
From: Adam Sampson &lt;ats@offog.org&gt;
Date: Sat, 12 Jul 2025 04:09:52 +0100
Subject: [PATCH 1/1] Fix return type of gtk_knob_get_type

It should be GtkType, not guint. GLib uses it to store a pointer, and
the latter's only 32 bits, which causes a crash on a 64-bit machine when
nekobee is built with PIE enabled.

Fill in the final missing field in GtkTypeInfo too (harmless since it
would have been 0 anyway).
---
 src/gtkknob.c | 7 ++++---
 src/gtkknob.h | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gtkknob.c b/src/gtkknob.c
index b2bbdc1..8907c7b 100644
--- a/src/gtkknob.c
+++ b/src/gtkknob.c
@@ -63,11 +63,11 @@ GError *gerror;
 
 static GtkWidgetClass *parent_class = NULL;
 
-guint gtk_knob_get_type(void) {
-  static guint knob_type = 0;
+GtkType gtk_knob_get_type(void) {
+  static GtkType knob_type = 0;
 
   if (!knob_type) {
-    GtkTypeInfo knob_info = {
+    static const GtkTypeInfo knob_info = {
       "GtkKnob",
       sizeof (GtkKnob),
       sizeof (GtkKnobClass),
@@ -75,6 +75,7 @@ guint gtk_knob_get_type(void) {
       (GtkObjectInitFunc) gtk_knob_init,
       NULL,
       NULL,
+      (GtkClassInitFunc) NULL,
     };
 
     knob_type = gtk_type_unique(gtk_widget_get_type(), &amp;knob_info);
diff --git a/src/gtkknob.h b/src/gtkknob.h
index ba2c59a..12639d4 100644
--- a/src/gtkknob.h
+++ b/src/gtkknob.h
@@ -72,7 +72,7 @@ struct _GtkKnobClass
 };
 
 extern GtkWidget *gtk_knob_new(GtkAdjustment *adjustment);
-extern guint gtk_knob_get_type(void);
+extern GtkType gtk_knob_get_type(void);
 
 extern GtkAdjustment *gtk_knob_get_adjustment(GtkKnob *knob);
 extern void gtk_knob_set_update_policy(GtkKnob *knob, GtkUpdateType  policy);
-- 
2.50.1

</pre></body></html>