diff options
Diffstat (limited to 'x11-misc/gmrun/files')
-rw-r--r-- | x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch b/x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch new file mode 100644 index 000000000000..3ef46c7bd653 --- /dev/null +++ b/x11-misc/gmrun/files/gmrun-0.9.2-gcc6-pie.patch @@ -0,0 +1,84 @@ +From 351d355835532dbea8430902977873e887dd1c12 Mon Sep 17 00:00:00 2001 +From: Lucian Poston <lucian.poston@gmail.com> +Date: Wed, 6 Dec 2017 04:22:28 -0800 +Subject: [PATCH] fix segfault in gcc-6 + +--- + src/gtkcompletionline.cc | 27 +++++++++++++++------------ + src/gtkcompletionline.h | 2 +- + 2 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/src/gtkcompletionline.cc b/src/gtkcompletionline.cc +index eb324b5..537fafb 100644 +--- a/src/gtkcompletionline.cc ++++ b/src/gtkcompletionline.cc +@@ -77,22 +77,25 @@ 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; + } +@@ -114,7 +117,7 @@ gtk_completion_line_class_init(GtkCompletionLineClass *klass) + + gtk_completion_line_signals[NOTUNIQUE] = + gtk_signal_new("notunique", +- GTK_RUN_FIRST, G_TYPE_FROM_CLASS(object_class), ++ GTK_RUN_FIRST, G_TYPE_FROM_CLASS(object_class), + GTK_SIGNAL_OFFSET(GtkCompletionLineClass, + notunique), + gtk_signal_default_marshaller, GTK_TYPE_NONE, 0); +@@ -778,7 +781,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 a/src/gtkcompletionline.h b/src/gtkcompletionline.h +index 5e14cd7..0d7f2dc 100644 +--- a/src/gtkcompletionline.h ++++ b/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*); +-- +2.13.6 + |