From 44f7ac324e0b450753d0af127be7f0003ebf6578 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mar 28 2005 04:55:01 +0000 Subject: Add patch for focus issue (bug #152299) --- diff --git a/xfwm4-focus-bug.patch b/xfwm4-focus-bug.patch new file mode 100644 index 0000000..387b991 --- /dev/null +++ b/xfwm4-focus-bug.patch @@ -0,0 +1,122 @@ +diff -Nur xfwm4-4.2.1.orig/src/client.c xfwm4-4.2.1/src/client.c +--- xfwm4-4.2.1.orig/src/client.c 2005-03-14 13:11:55.000000000 -0700 ++++ xfwm4-4.2.1/src/client.c 2005-03-27 21:10:57.241200236 -0700 +@@ -1,4 +1,4 @@ +-/* $Id: client.c,v 1.461.2.11 2005/03/14 19:48:50 olivier Exp $ ++/* $Id: client.c,v 1.461.2.12 2005/03/16 20:38:45 olivier Exp $ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -3130,18 +3130,14 @@ + g1 = myScreenGrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); + g2 = myScreenGrabPointer (screen_info, ButtonMotionMask | ButtonReleaseMask, + cursor, myDisplayGetCurrentTime (display_info)); +- if (((passdata.use_keys) && !g1) || !g2) ++ if (!g1 || !g2) + { + TRACE ("grab failed in clientMove"); ++ + gdk_beep (); +- if ((passdata.use_keys) && g1) +- { +- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); +- } +- if (g2) +- { +- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info)); +- } ++ myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); ++ myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info)); ++ + return; + } + +@@ -3592,18 +3588,14 @@ + myDisplayGetCursorResize(display_info, passdata.corner), + myDisplayGetCurrentTime (display_info)); + +- if (((passdata.use_keys) && !g1) || !g2) ++ if (!g1 || !g2) + { + TRACE ("grab failed in clientResize"); ++ + gdk_beep (); +- if ((passdata.use_keys) && (g1 == GrabSuccess)) +- { +- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); +- } +- if (g2 == GrabSuccess) +- { +- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info)); +- } ++ myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); ++ myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info)); ++ + return; + } + +@@ -3799,15 +3791,11 @@ + if (!g1 || !g2) + { + TRACE ("grab failed in clientCycle"); ++ + gdk_beep (); +- if (g1 == GrabSuccess) +- { +- myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); +- } +- if (g2 == GrabSuccess) +- { +- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info)); +- } ++ myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info)); ++ myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info)); ++ + return; + } + +diff -Nur xfwm4-4.2.1.orig/src/events.c xfwm4-4.2.1/src/events.c +--- xfwm4-4.2.1.orig/src/events.c 2005-02-12 14:29:37.000000000 -0700 ++++ xfwm4-4.2.1/src/events.c 2005-03-27 21:10:57.244199772 -0700 +@@ -1,4 +1,4 @@ +-/* $Id: events.c,v 1.297.2.2 2005/02/12 21:29:37 olivier Exp $ ++/* $Id: events.c,v 1.297.2.3 2005/03/22 22:37:42 olivier Exp $ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -205,6 +205,7 @@ + { + TRACE ("grab failed in typeOfClick"); + gdk_beep (); ++ myScreenUngrabPointer (screen_info, ev->xbutton.time); + return XFWM_BUTTON_UNDEFINED; + } + +diff -Nur xfwm4-4.2.1.orig/src/stacking.c xfwm4-4.2.1/src/stacking.c +--- xfwm4-4.2.1.orig/src/stacking.c 2005-02-08 15:16:11.000000000 -0700 ++++ xfwm4-4.2.1/src/stacking.c 2005-03-27 21:10:57.245199617 -0700 +@@ -1,4 +1,4 @@ +-/* $Id: stacking.c,v 1.26.2.2 2005/02/08 22:16:11 olivier Exp $ ++/* $Id: stacking.c,v 1.26.2.3 2005/03/27 19:32:37 olivier Exp $ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -240,7 +240,7 @@ + Client *c = NULL; + Client *c2 = NULL; + +- TRACE ("entering clientAtPos"); ++ TRACE ("entering clientAtPosition"); + + for (index = g_list_last (screen_info->windows_stack); index; index = g_list_previous (index)) + { +@@ -252,8 +252,8 @@ + && (c2 != exclude)) + { + c = c2; ++ break; + } +- break; + } + } + diff --git a/xfwm4.spec b/xfwm4.spec index 52c237b..a26c65f 100644 --- a/xfwm4.spec +++ b/xfwm4.spec @@ -1,7 +1,7 @@ Summary: Next generation window manager for Xfce Name: xfwm4 Version: 4.2.1 -Release: 4.fc4 +Release: 5.fc4 License: GPL URL: http://www.xfce.org/ Source0: http://www.xfce.org/archive/xfce-4.2.1/src-bz2/xfwm4-4.2.1.tar.bz2 @@ -9,6 +9,7 @@ Source0: http://www.xfce.org/archive/xfce-4.2.1/src-bz2/xfwm4-4.2.1.tar.bz2 # Change default for Fedora Patch0: xfwm4-bluecurve-prep.patch Patch1: xfwm4-bluecurve.patch +Patch2: xfwm4-focus-bug.patch Group: User Interface/Desktops BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -28,6 +29,7 @@ xfwm4 is a window manager compatible with GNOME, GNOME2, KDE2, KDE3 and Xfce. %patch0 -p1 -b .bluecurve-prep %patch1 -p1 -b .bluecurve +%patch2 -p1 -b .focus %build %configure @@ -58,6 +60,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/themes %changelog +* Sun Mar 27 2005 Kevin Fenzi - 4.2.1-5.fc4 +- Add patch for focus issue (bug #152299) + * Fri Mar 25 2005 Kevin Fenzi - 4.2.1-4.fc4 - lowercase Release