Backport a fix for a crash at startup with gtk3 3.13.4
This commit is contained in:
parent
1a44e1d544
commit
f8f5c47031
61
0001-Hold-ref-to-menus-stored-in-app.patch
Normal file
61
0001-Hold-ref-to-menus-stored-in-app.patch
Normal file
@ -0,0 +1,61 @@
|
||||
From 98efe189a8a39216de1807d009d4ae5a099eddd0 Mon Sep 17 00:00:00 2001
|
||||
From: Jesse van den Kieboom <jessevdk@gnome.org>
|
||||
Date: Mon, 30 Jun 2014 19:19:48 +0200
|
||||
Subject: [PATCH] Hold ref to menus stored in app
|
||||
|
||||
---
|
||||
gedit/gedit-app.c | 26 +++++++++++++++++++++-----
|
||||
1 file changed, 21 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
|
||||
index ed08a75..0704623 100644
|
||||
--- a/gedit/gedit-app.c
|
||||
+++ b/gedit/gedit-app.c
|
||||
@@ -421,6 +421,22 @@ load_accels (void)
|
||||
}
|
||||
}
|
||||
|
||||
+static gpointer
|
||||
+get_builder_object_ref (GtkBuilder *builder,
|
||||
+ const gchar *name)
|
||||
+{
|
||||
+ gpointer ret;
|
||||
+
|
||||
+ ret = gtk_builder_get_object (builder, name);
|
||||
+
|
||||
+ if (ret != NULL)
|
||||
+ {
|
||||
+ g_object_ref_sink (ret);
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
gedit_app_startup (GApplication *application)
|
||||
{
|
||||
@@ -493,16 +509,16 @@ gedit_app_startup (GApplication *application)
|
||||
appmenu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));
|
||||
gtk_application_set_app_menu (GTK_APPLICATION (application), appmenu);
|
||||
|
||||
- app->priv->window_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "gear_menu_withappmenu"));
|
||||
+ app->priv->window_menu = G_MENU_MODEL (get_builder_object_ref (builder, "gear_menu_withappmenu"));
|
||||
}
|
||||
else
|
||||
{
|
||||
- app->priv->window_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "gear_menu_noappmenu"));
|
||||
+ app->priv->window_menu = G_MENU_MODEL (get_builder_object_ref (builder, "gear_menu_noappmenu"));
|
||||
}
|
||||
|
||||
- app->priv->notebook_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "notebook_menu"));
|
||||
- app->priv->tab_width_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "tab_width_menu"));
|
||||
- app->priv->line_col_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "line_col_menu"));
|
||||
+ app->priv->notebook_menu = G_MENU_MODEL (get_builder_object_ref (builder, "notebook_menu"));
|
||||
+ app->priv->tab_width_menu = G_MENU_MODEL (get_builder_object_ref (builder, "tab_width_menu"));
|
||||
+ app->priv->line_col_menu = G_MENU_MODEL (get_builder_object_ref (builder, "line_col_menu"));
|
||||
}
|
||||
|
||||
g_object_unref (builder);
|
||||
--
|
||||
2.0.1
|
||||
|
||||
@ -23,7 +23,7 @@ Summary: Text editor for the GNOME desktop
|
||||
Name: gedit
|
||||
Epoch: 2
|
||||
Version: 3.13.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: GPLv2+ and GFDL
|
||||
Group: Applications/Editors
|
||||
#VCS: git:git://git.gnome.org/gedit
|
||||
@ -34,6 +34,9 @@ URL: http://projects.gnome.org/gedit/
|
||||
Requires(post): desktop-file-utils >= %{desktop_file_utils_version}
|
||||
Requires(postun): desktop-file-utils >= %{desktop_file_utils_version}
|
||||
|
||||
# Backported upstream fix for a crash with gtk+ 3.13.4
|
||||
Patch1: 0001-Hold-ref-to-menus-stored-in-app.patch
|
||||
|
||||
Patch4: gedit-disable-python3.patch
|
||||
|
||||
BuildRequires: gnome-common
|
||||
@ -100,6 +103,7 @@ Install gedit-devel if you want to write plugins for gedit.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
|
||||
%if !%{with_python3}
|
||||
%patch4 -p1 -b .disable-python
|
||||
@ -208,6 +212,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas >&/dev/null || :
|
||||
%{_datadir}/vala/
|
||||
|
||||
%changelog
|
||||
* Tue Jul 15 2014 Kalev Lember <kalevlember@gmail.com> - 2:3.13.2-2
|
||||
- Backport a fix for a crash at startup with gtk3 3.13.4
|
||||
|
||||
* Tue Jun 24 2014 Richard Hughes <rhughes@redhat.com> - 2:3.13.2-1
|
||||
- Update to 3.13.2
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user