From 2536b82084ee7d328bd8ec756bf3bb75325e3283 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Fri, 24 May 2002 08:16:59 +0000 Subject: [PATCH] Redraw the window frame when the icon changes. Fixes #78543, reported by 2002-05-24 Anders Carlsson * src/window.c: Redraw the window frame when the icon changes. Fixes #78543, reported by Kang Jeong-Hee. --- ChangeLog | 5 +++++ src/window.c | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a6e1509a4..1960a0a68 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-05-24 Anders Carlsson + + * src/window.c: Redraw the window frame when the icon changes. + Fixes #78543, reported by Kang Jeong-Hee. + 2002-05-23 Havoc Pennington * src/display.c (event_callback): also filter out LeaveNotify diff --git a/src/window.c b/src/window.c index a4601d6a8..0b23dcace 100644 --- a/src/window.c +++ b/src/window.c @@ -83,6 +83,7 @@ static void update_net_wm_type (MetaWindow *window); static int update_initial_workspace (MetaWindow *window); static int update_icon_name (MetaWindow *window); static int update_icon (MetaWindow *window); +static void redraw_icon (MetaWindow *window); static void update_struts (MetaWindow *window); static void recalc_window_type (MetaWindow *window); static void recalc_window_features (MetaWindow *window); @@ -3458,6 +3459,7 @@ process_property_notify (MetaWindow *window, update_wm_hints (window); update_icon (window); + redraw_icon (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) { meta_verbose ("Property notify on %s for NET_WM_ICON\n", window->desc); - meta_icon_cache_property_changed (&window->icon_cache, window->display, event->atom); update_icon (window); + redraw_icon (window); } else if (event->atom == window->display->atom_kwm_win_icon) { @@ -3535,6 +3537,7 @@ process_property_notify (MetaWindow *window, window->display, event->atom); update_icon (window); + redraw_icon (window); } else if (event->atom == window->display->atom_net_wm_strut) { @@ -4569,6 +4572,13 @@ update_icon (MetaWindow *window) 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* meta_window_get_workspaces (MetaWindow *window) {