void-packages/srcpkgs/gmrun/patches/6a0ea012a7f51fdc5639bedabe4...

78 lines
2.4 KiB
Diff

From 6a0ea012a7f51fdc5639bedabe446c9035461cda Mon Sep 17 00:00:00 2001
From: Henning Schild <henning@hennsch.de>
Date: Sun, 3 Dec 2017 12:14:00 +0100
Subject: [PATCH] gtk: replace deprecated gtk_type_new and _unique
Calling these causes segfaults.
This fix is based on
https://launchpadlibrarian.net/295253441/gmrun-tdp-patch.diff
---
src/gtkcompletionline.cc | 26 +++++++++++++++-----------
src/gtkcompletionline.h | 2 +-
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git src/gtkcompletionline.cc src/gtkcompletionline.cc
index c21f7e3..5211a87 100644
--- src/gtkcompletionline.cc
+++ src/gtkcompletionline.cc
@@ -77,22 +77,26 @@ static gboolean
on_key_press(GtkCompletionLine *cl, GdkEventKey *event, gpointer data);
/* get_type */
-guint gtk_completion_line_get_type(void)
+GType gtk_completion_line_get_type(void)
{
- static guint type = 0;
+ static GType type = 0;
if (type == 0)
{
- GtkTypeInfo type_info =
+ static const GTypeInfo type_info =
{
- "GtkCompletionLine",
- sizeof(GtkCompletionLine),
sizeof(GtkCompletionLineClass),
- (GtkClassInitFunc)gtk_completion_line_class_init,
- (GtkObjectInitFunc)gtk_completion_line_init,
- /*(GtkArgSetFunc)*/NULL /* reserved */,
- /*(GtkArgGetFunc)*/NULL /* reserved */
+ NULL,
+ NULL,
+ (GClassInitFunc)gtk_completion_line_class_init,
+ NULL,
+ NULL,
+ sizeof(GtkCompletionLine),
+ 0,
+ (GInstanceInitFunc)gtk_completion_line_init,
+ NULL
};
- type = gtk_type_unique(gtk_entry_get_type(), &type_info);
+ type = g_type_register_static(GTK_TYPE_ENTRY, "GtkCompletionLine",
+ &type_info, (GTypeFlags)0);
}
return type;
}
@@ -745,7 +749,7 @@ complete_line(GtkCompletionLine *object)
GtkWidget *
gtk_completion_line_new()
{
- return GTK_WIDGET(gtk_type_new(gtk_completion_line_get_type()));
+ return GTK_WIDGET(g_object_new(gtk_completion_line_get_type(), NULL));
}
static void
diff --git src/gtkcompletionline.h src/gtkcompletionline.h
index 5e14cd7..0d7f2dc 100644
--- src/gtkcompletionline.h
+++ src/gtkcompletionline.h
@@ -76,7 +76,7 @@ extern "C++" {
void (* cancel)(GtkCompletionLine *cl);
};
- guint gtk_completion_line_get_type(void);
+ GType gtk_completion_line_get_type(void);
GtkWidget *gtk_completion_line_new();
void gtk_completion_line_last_history_item(GtkCompletionLine*);