Redraw the window frame when the icon changes. Fixes #78543, reported by

2002-05-24  Anders Carlsson  <andersca@gnu.org>

	* src/window.c: Redraw the window frame when the icon changes.
	Fixes #78543, reported by Kang Jeong-Hee.
This commit is contained in:
Anders Carlsson 2002-05-24 08:16:59 +00:00 committed by Anders Carlsson
parent d70e08039c
commit 2536b82084
2 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-05-24 Anders Carlsson <andersca@gnu.org>
* src/window.c: Redraw the window frame when the icon changes.
Fixes #78543, reported by Kang Jeong-Hee.
2002-05-23 Havoc Pennington <hp@pobox.com> 2002-05-23 Havoc Pennington <hp@pobox.com>
* src/display.c (event_callback): also filter out LeaveNotify * src/display.c (event_callback): also filter out LeaveNotify

View File

@ -83,6 +83,7 @@ static void update_net_wm_type (MetaWindow *window);
static int update_initial_workspace (MetaWindow *window); static int update_initial_workspace (MetaWindow *window);
static int update_icon_name (MetaWindow *window); static int update_icon_name (MetaWindow *window);
static int update_icon (MetaWindow *window); static int update_icon (MetaWindow *window);
static void redraw_icon (MetaWindow *window);
static void update_struts (MetaWindow *window); static void update_struts (MetaWindow *window);
static void recalc_window_type (MetaWindow *window); static void recalc_window_type (MetaWindow *window);
static void recalc_window_features (MetaWindow *window); static void recalc_window_features (MetaWindow *window);
@ -3458,6 +3459,7 @@ process_property_notify (MetaWindow *window,
update_wm_hints (window); update_wm_hints (window);
update_icon (window); update_icon (window);
redraw_icon (window);
meta_window_queue_move_resize (window); meta_window_queue_move_resize (window);
} }
@ -3521,11 +3523,11 @@ process_property_notify (MetaWindow *window,
else if (event->atom == window->display->atom_net_wm_icon) else if (event->atom == window->display->atom_net_wm_icon)
{ {
meta_verbose ("Property notify on %s for NET_WM_ICON\n", window->desc); meta_verbose ("Property notify on %s for NET_WM_ICON\n", window->desc);
meta_icon_cache_property_changed (&window->icon_cache, meta_icon_cache_property_changed (&window->icon_cache,
window->display, window->display,
event->atom); event->atom);
update_icon (window); update_icon (window);
redraw_icon (window);
} }
else if (event->atom == window->display->atom_kwm_win_icon) else if (event->atom == window->display->atom_kwm_win_icon)
{ {
@ -3535,6 +3537,7 @@ process_property_notify (MetaWindow *window,
window->display, window->display,
event->atom); event->atom);
update_icon (window); update_icon (window);
redraw_icon (window);
} }
else if (event->atom == window->display->atom_net_wm_strut) else if (event->atom == window->display->atom_net_wm_strut)
{ {
@ -4569,6 +4572,13 @@ update_icon (MetaWindow *window)
return Success; return Success;
} }
static void
redraw_icon (MetaWindow *window)
{
/* We could probably be smart and just redraw the icon here. */
meta_ui_queue_frame_draw (window->screen->ui, window->frame->xwindow);
}
static GList* static GList*
meta_window_get_workspaces (MetaWindow *window) meta_window_get_workspaces (MetaWindow *window)
{ {