parent
6549738a01
commit
c1b8752ea3
|
@ -0,0 +1,77 @@
|
|||
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*);
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue