diff --git a/srcpkgs/gmrun/patches/6a0ea012a7f51fdc5639bedabe446c9035461cda.diff b/srcpkgs/gmrun/patches/6a0ea012a7f51fdc5639bedabe446c9035461cda.diff new file mode 100644 index 00000000000..9030b55b7db --- /dev/null +++ b/srcpkgs/gmrun/patches/6a0ea012a7f51fdc5639bedabe446c9035461cda.diff @@ -0,0 +1,77 @@ +From 6a0ea012a7f51fdc5639bedabe446c9035461cda Mon Sep 17 00:00:00 2001 +From: Henning Schild +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*); diff --git a/srcpkgs/gmrun/template b/srcpkgs/gmrun/template index 7306bf09918..b3565fa4929 100644 --- a/srcpkgs/gmrun/template +++ b/srcpkgs/gmrun/template @@ -1,7 +1,7 @@ # Template file for 'gmrun' pkgname=gmrun version=0.9.2 -revision=4 +revision=5 build_style=gnu-configure hostmakedepends="pkg-config" makedepends="gtk+-devel popt-devel"