[Xfce4-commits] r25820 - xfwm4/branches/xfce_4_2/src
Olivier Fourdan
olivier at xfce.org
Sun Jun 17 01:17:52 CEST 2007
Author: olivier
Date: 2007-06-16 23:17:52 +0000 (Sat, 16 Jun 2007)
New Revision: 25820
Modified:
xfwm4/branches/xfce_4_2/src/settings.c
Log:
Plug a leak in mouse button grab when changing theme
Modified: xfwm4/branches/xfce_4_2/src/settings.c
===================================================================
--- xfwm4/branches/xfce_4_2/src/settings.c 2007-06-16 23:17:22 UTC (rev 25819)
+++ xfwm4/branches/xfce_4_2/src/settings.c 2007-06-16 23:17:52 UTC (rev 25820)
@@ -51,7 +51,7 @@
/* Forward static decls. */
-static void check_for_grabs (ScreenInfo *);
+static void update_grabs (ScreenInfo *);
static void set_settings_margin (ScreenInfo *,
int ,
int);
@@ -83,16 +83,13 @@
int);
static void
-check_for_grabs (ScreenInfo *screen_info)
+update_grabs (ScreenInfo *screen_info)
{
+ clientUngrabMouseButtonForAll (screen_info);
if ((screen_info->params->raise_on_click) || (screen_info->params->click_to_focus))
{
clientGrabMouseButtonForAll (screen_info);
}
- else if (!(screen_info->params->raise_on_click) && !(screen_info->params->click_to_focus))
- {
- clientUngrabMouseButtonForAll (screen_info);
- }
}
static void
@@ -162,7 +159,7 @@
if (!strcmp (name, "Xfwm/ClickToFocus"))
{
screen_info->params->click_to_focus = setting->data.v_int;
- check_for_grabs (screen_info);
+ update_grabs (screen_info);
}
else if (!strcmp (name, "Xfwm/FocusNewWindow"))
{
@@ -195,12 +192,12 @@
else if (!strcmp (name, "Xfwm/RaiseOnClick"))
{
screen_info->params->raise_on_click = setting->data.v_int;
- check_for_grabs (screen_info);
+ update_grabs (screen_info);
}
else if (!strcmp (name, "Xfwm/RaiseWithAnyButton"))
{
screen_info->params->raise_with_any_button = setting->data.v_int;
- check_for_grabs (screen_info);
+ update_grabs (screen_info);
}
else if (!strcmp (name, "Xfwm/SnapToBorder"))
{
@@ -443,7 +440,6 @@
&setting) == MCS_SUCCESS)
{
setBooleanValueFromInt ("click_to_focus", setting->data.v_int, rc);
- check_for_grabs (screen_info);
mcs_setting_free (setting);
}
if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/FocusNewWindow", CHANNEL1,
@@ -486,14 +482,12 @@
&setting) == MCS_SUCCESS)
{
setBooleanValueFromInt ("raise_on_click", setting->data.v_int, rc);
- check_for_grabs (screen_info);
mcs_setting_free (setting);
}
if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/RaiseWithAnyButton", CHANNEL1,
&setting) == MCS_SUCCESS)
{
setBooleanValueFromInt ("raise_with_any_button", setting->data.v_int, rc);
- check_for_grabs (screen_info);
mcs_setting_free (setting);
}
if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/SnapToBorder", CHANNEL1,
@@ -505,8 +499,7 @@
if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/SnapToWindows", CHANNEL1,
&setting) == MCS_SUCCESS)
{
- setBooleanValueFromInt ("snap_to_windows", setting->data.v_int,
- rc);
+ setBooleanValueFromInt ("snap_to_windows", setting->data.v_int, rc);
mcs_setting_free (setting);
}
if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/SnapWidth", CHANNEL1,
@@ -1195,6 +1188,7 @@
loadRcData (screen_info, rc);
loadMcsData (screen_info, rc);
loadTheme (screen_info, rc);
+ update_grabs (screen_info);
if (!loadKeyBindings (screen_info, rc))
{
More information about the Xfce4-commits
mailing list