From 6a9fbe8df13402c01d7ad141a91206cebe883056 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Dec 17 2009 23:14:54 +0000 Subject: - Fix crash in in tooltip on_style_set() (rhbz 546509) - Fix Crash in SmcSetProperties() on exit (rhbz 539905, gnome 604867) --- diff --git a/fresh-tooltips.patch b/fresh-tooltips.patch index 03c2d34..9c7c45f 100644 --- a/fresh-tooltips.patch +++ b/fresh-tooltips.patch @@ -1,6 +1,6 @@ diff -up metacity-2.28.0/src/ui/fixedtip.c.fresh-tooltips metacity-2.28.0/src/ui/fixedtip.c ---- metacity-2.28.0/src/ui/fixedtip.c.fresh-tooltips 2009-10-28 12:32:09.098105658 -0400 -+++ metacity-2.28.0/src/ui/fixedtip.c 2009-10-28 15:33:52.419756065 -0400 +--- metacity-2.28.0/src/ui/fixedtip.c.fresh-tooltips 2009-12-17 18:06:26.000000000 -0500 ++++ metacity-2.28.0/src/ui/fixedtip.c 2009-12-17 18:08:23.000000000 -0500 @@ -50,33 +50,237 @@ static int screen_right_edge = 0; */ static int screen_bottom_edge = 0; @@ -299,8 +299,8 @@ diff -up metacity-2.28.0/src/ui/fixedtip.c.fresh-tooltips metacity-2.28.0/src/ui g_signal_connect (tip, "destroy", G_CALLBACK (gtk_widget_destroyed), &tip); + -+ g_signal_connect_swapped (tip, "style-set", -+ G_CALLBACK (on_style_set), NULL); ++ g_signal_connect (tip, "style-set", ++ G_CALLBACK (on_style_set), NULL); } gtk_label_set_markup (GTK_LABEL (label), markup_text); diff --git a/metacity-2.28-IceCloseConnection.patch b/metacity-2.28-IceCloseConnection.patch new file mode 100644 index 0000000..dc996ea --- /dev/null +++ b/metacity-2.28-IceCloseConnection.patch @@ -0,0 +1,44 @@ +From 3fd59d1e7e1a23202f58536fb7a995aa5951664b Mon Sep 17 00:00:00 2001 +From: Owen W. Taylor +Date: Thu, 17 Dec 2009 16:20:18 -0500 +Subject: [PATCH] Don't call IceCloseConnection() behind libSM's back + +The ICE connection is opened by libSM; we can't just close it when +we get an IOError on the ICE connection; instead call SmcCloseConnection() +and mark the connection as closed. This will prevent a segfault if we +exit out of the metacity main loop and get to meta_finalize(). + +https://bugzilla.gnome.org/show_bug.cgi?id=604867 +--- + src/core/session.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletions(-) + +diff --git a/src/core/session.c b/src/core/session.c +index 96d8d71..0a12649 100644 +--- a/src/core/session.c ++++ b/src/core/session.c +@@ -84,6 +84,7 @@ static char* load_state (const char *previous_save_file); + static void regenerate_save_file (void); + static const char* full_save_file (void); + static void warn_about_lame_clients_and_finish_interact (gboolean shutdown); ++static void disconnect (void); + + /* This is called when data is available on an ICE connection. */ + static gboolean +@@ -106,7 +107,12 @@ process_ice_messages (GIOChannel *channel, + IcePointer context = IceGetConnectionContext (connection); + #endif + +- /* We were disconnected */ ++ /* We were disconnected; close our connection to the ++ * session manager, this will result in the ICE connection ++ * being cleaned up, since it is owned by libSM. ++ */ ++ disconnect (); ++ meta_quit (META_EXIT_SUCCESS); + IceSetShutdownNegotiation (connection, False); + IceCloseConnection (connection); + +-- +1.6.5.2 + diff --git a/metacity.spec b/metacity.spec index 81e5d0d..0f71565 100644 --- a/metacity.spec +++ b/metacity.spec @@ -3,7 +3,7 @@ Summary: Unobtrusive window manager Name: metacity Version: 2.28.0 -Release: 12%{?dist} +Release: 13%{?dist} URL: http://download.gnome.org/sources/metacity/ Source0: http://download.gnome.org/sources/metacity/2.28/metacity-%{version}.tar.bz2 # http://bugzilla.gnome.org/show_bug.cgi?id=558723 @@ -52,6 +52,8 @@ Patch23: metacity-2.28-visual-bell.patch Patch24: metacity-2.28-empty-keybindings.patch # https://bugzilla.gnome.org/show_bug.cgi?id=604319 Patch25: metacity-2.28-xioerror-unknown-display.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=604867 +Patch26: metacity-2.28-IceCloseConnection.patch License: GPLv2+ Group: User Interface/Desktops @@ -134,6 +136,7 @@ API. This package exists purely for technical reasons. %patch23 -p1 -b .visual-bell %patch24 -p1 -b .empty-keybindings %patch25 -p1 -b .xioerror-unknown-display +%patch26 -p1 -b .IceCloseConnection # force regeneration rm src/metacity.schemas @@ -241,21 +244,25 @@ fi %{_mandir}/man1/metacity-window-demo.1.gz %changelog +* Thu Dec 17 2009 Owen Taylor - 2.28.0-13 +- Fix crash in in tooltip on_style_set() (rhbz 546509) +- Fix Crash in SmcSetProperties() on exit (rhbz 539905, gnome 604867) + * Thu Dec 10 2009 Owen Taylor - 2.28.0-12 - Require gnome-themes rather than nodoka-metacity-theme (rhbz 532455, Stijn Hoop) - Add patches for GNOME bugs 445447 - Application-induced window raise fails when raise_on_click off (rhbz 526045) 530702 - compiz doesn't start if metacity compositor is enabled (rhbz 537791) - 559816 - Doesn't update keybindings being disabled/cleared (rhbz 532282) + 559816 - Doesn't update keybindings being disabled/cleared (rhbz 473224) 567528 - Cannot raise windows from applications in Tcl/Tk and Java (rhbz 503522) 577576 - Failed to read saved session file warning on new sessions (rhbz 493245) - 598231 - When Chromium rings the bell, metacity quits(rhbz 532282) + 598231 - When Chromium rings the bell, metacity quits (rhbz 532282) 598995 - Don't focus ancestor window on a different workspace (rhbz 237158) 599097 - For mouse and sloppy focus, return to "mouse mode" on motion (rhbz 530261) 599248 - Add no_focus_windows preference to list windows that shouldn't be focused (rhbz 530262) 599261 - Add a new_windows_always_on_top preference (rhbz 530263) 599262 - Add XFCE Terminal as a terminal - 604319 - XIOError unknown display (rhbz 537845) + 604319 - Handle XError and XIOError for unknown displays (rhbz 537845) * Thu Nov 26 2009 Matthias Clasen - 2.28.0-11 - Fix a problem with the previous change