[gnome-panel] [panel] Do not forget to call panel_applet_stop_loading() on issues



commit 0eb05c74421d29eed4c92653387ba06d17542b82
Author: Vincent Untz <vuntz gnome org>
Date:   Mon Sep 6 19:47:24 2010 +0200

    [panel] Do not forget to call panel_applet_stop_loading() on issues
    
    When we don't load an applet because it's on the no-reload list, because
    it's disabled in by lockdown keys or because we can't find the
    compatibility iid, we still have to call panel_applet_stop_loading().
    
    If we don't do so, new panels will not get unhidden, since they will
    wait for this applet to stop loading -- while it didn't even start
    loading.

 gnome-panel/panel-applet-frame.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/gnome-panel/panel-applet-frame.c b/gnome-panel/panel-applet-frame.c
index 5452eb8..9fd5b80 100644
--- a/gnome-panel/panel-applet-frame.c
+++ b/gnome-panel/panel-applet-frame.c
@@ -936,11 +936,15 @@ panel_applet_frame_load (const gchar *iid,
 	g_return_if_fail (id != NULL);
 
 	if (g_slist_find_custom (no_reload_applets, id,
-				 (GCompareFunc) strcmp))
+				 (GCompareFunc) strcmp)) {
+		panel_applet_stop_loading (id);
 		return;
+	}
 
-	if (panel_lockdown_is_applet_disabled (iid))
+	if (panel_lockdown_is_applet_disabled (iid)) {
+		panel_applet_stop_loading (id);
 		return;
+	}
 
 	frame_act = g_slice_new0 (PanelAppletFrameActivating);
 	frame_act->locked   = locked;
@@ -967,8 +971,10 @@ panel_applet_frame_load_from_gconf (PanelWidget *panel_widget,
 	g_return_if_fail (id != NULL);
 
 	applet_iid = panel_compatiblity_get_applet_iid (id);
-	if (!applet_iid)
+	if (!applet_iid) {
+		panel_applet_stop_loading (id);
 		return;
+	}
 
 	panel_applet_frame_load (applet_iid, panel_widget,
 				 locked, position, TRUE, id);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]