patches/gnome-panel-11-lockdown-applets.diff
author mattman
Tue, 13 Jan 2009 16:51:42 +0000
changeset 14907 a551490c6cd1
parent 13463 8477a18a9126
child 14988 c1837618ac97
permissions -rw-r--r--
* base-specs/gnome-panel.spec : Bump to 2.25.3 * patches/gnome-panel-02-fish-applet.diff : Re-work * patches/gnome-panel-04-panel-applet-session-never-restart.diff: Remove Obsolete patch * patches/gnome-panel-05-notificationarea-tooltip.diff : Re-work * patches/gnome-panel-07-restrict-app-launching.diff : Re-work * patches/gnome-panel-10-trusted-extensions.diff : Re-work * patches/gnome-panel-11-lockdown-applets.diff : Re-work * patches/gnome-panel-14-tooltip.diff : Re-work
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
     1
--- gnome-panel-2.23.6.old/gnome-panel/panel-applet-frame.h	2008-08-18 15:05:36.136359000 +0100
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
     2
+++ gnome-panel-2.23.6/gnome-panel/panel-applet-frame.h	2008-08-18 15:06:21.011256000 +0100
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
     3
@@ -77,6 +77,13 @@
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
     4
 
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
     5
 void            panel_applet_frame_set_panel (PanelAppletFrame *frame,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
     6
 					      PanelWidget      *panel);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
     7
+/**
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
     8
+  * Checks whether the applet has been disabled or reenabled and if necessary
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
     9
+  * rebuilds the applet.
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    10
+  * Returns true if the applet frame was rebuilt as a result of its restriction
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    11
+  * status changing.
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    12
+  */
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    13
+gboolean        panel_applet_frame_refresh (PanelAppletFrame *frame);
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
    14
 
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    15
 G_END_DECLS
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    16
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    17
--- gnome-panel-2.23.6.old/gnome-panel/applet.c	2008-08-18 15:05:36.144491000 +0100
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    18
+++ gnome-panel-2.23.6/gnome-panel/applet.c	2008-08-18 15:16:12.926256000 +0100
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    19
@@ -158,6 +158,31 @@
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    20
 	info->menu = panel_applet_create_menu (info);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    21
 }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    22
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    23
+static void panel_applet_check_visibility(AppletInfo *info)
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    24
+{
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    25
+    if (info->type == PANEL_OBJECT_LAUNCHER) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    26
+        if (panel_lockdown_is_forbidden_launcher (info->data)) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    27
+            gtk_widget_hide(info->widget) ;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    28
+        }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    29
+        else { gtk_widget_show(info->widget) ; }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    30
+    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    31
+}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    32
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    33
+static void panel_applet_refresh_state(AppletInfo *info)
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    34
+{
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    35
+    if (info->type == PANEL_OBJECT_BONOBO) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    36
+        if (!panel_applet_frame_refresh(info->data)) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    37
+            /* If the applet frame was rebuilt, no point in 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    38
+               recreating the menu. */
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    39
+            panel_applet_recreate_menu(info) ;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    40
+        }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    41
+    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    42
+    else {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    43
+        panel_applet_check_visibility(info) ;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    44
+        panel_applet_recreate_menu(info) ;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    45
+    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    46
+}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    47
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    48
 static void
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    49
 panel_applet_locked_change_notify (GConfClient *client,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    50
 				   guint        cnxn_id,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    51
@@ -751,8 +776,7 @@
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    52
 		}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    53
 	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    54
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    55
-	if (info->type != PANEL_OBJECT_BONOBO)
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    56
-		panel_lockdown_notify_remove (G_CALLBACK (panel_applet_recreate_menu),
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    57
+	panel_lockdown_notify_remove (G_CALLBACK (panel_applet_refresh_state),
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    58
 					      info);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    59
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    60
 	if (info->menu)
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    61
@@ -1195,8 +1219,7 @@
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    62
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    63
 	g_object_set_data (G_OBJECT (applet), "applet_info", info);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    64
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    65
-	if (type != PANEL_OBJECT_BONOBO)
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    66
-		panel_lockdown_notify_add (G_CALLBACK (panel_applet_recreate_menu),
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    67
+	panel_lockdown_notify_add (G_CALLBACK (panel_applet_refresh_state),
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    68
 					   info);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    69
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    70
 	key = panel_gconf_full_key ((type == PANEL_OBJECT_BONOBO) ?
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    71
/jds/bin/diff -uprN gnome-panel-2.25.3.old/gnome-panel/panel-applet-frame.c gnome-panel-2.25.3/gnome-panel/panel-applet-frame.c
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    72
--- gnome-panel-2.25.3.old/gnome-panel/panel-applet-frame.c	2009-01-13 18:19:15.116088000 +0000
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    73
+++ gnome-panel-2.25.3/gnome-panel/panel-applet-frame.c	2009-01-13 18:32:36.591189000 +0000
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    74
@@ -118,6 +118,10 @@ panel_applet_frame_sync_menu_state (Pane
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    75
 	movable = panel_applet_can_freely_move (frame->priv->applet_info);
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    76
 	removable = panel_profile_id_lists_are_writable ();
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    77
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    78
+	/* If the applet is currently in a disabled state, no need for a menu */
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    79
+	if (frame->priv->ui_component == NULL)
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    80
+		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    81
+
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    82
 	locked = panel_widget_get_applet_locked (panel_widget, GTK_WIDGET (frame));
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    83
 
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    84
 	bonobo_ui_component_set_prop (frame->priv->ui_component,
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    85
@@ -342,9 +346,6 @@ panel_applet_frame_load (const gchar *ii
9377
d42e1e7710db Minor rework for gnome-panel patches
dcarbery
parents: 9136
diff changeset
    86
 				 (GCompareFunc) strcmp))
d42e1e7710db Minor rework for gnome-panel patches
dcarbery
parents: 9136
diff changeset
    87
 		return;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    88
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    89
-	if (panel_lockdown_is_applet_disabled (iid))
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    90
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    91
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    92
 	frame = g_object_new (PANEL_TYPE_APPLET_FRAME, NULL);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    93
 	frame->priv->panel = panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    94
 	frame->priv->iid   = g_strdup (iid);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    95
@@ -356,13 +357,21 @@ panel_applet_frame_load (const gchar *ii
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    96
 	frame_act->exactpos = exactpos;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    97
 	frame_act->id       = g_strdup (id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    98
 
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
    99
-	CORBA_exception_init (&ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   100
+	/* If the applet is disabled, we don't actually load the bonobo component,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   101
+       but keep the objects around so that, should the disabled state change,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   102
+       we'll be able to reload the applet in its proper state. */
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   103
+	if (panel_lockdown_is_applet_disabled (iid)) { 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   104
+		panel_applet_frame_activated (NULL, "LOCKED", frame_act); 
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   105
+	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   106
+	else {
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   107
+	    CORBA_exception_init (&ev);
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   108
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   109
+	    bonobo_activation_activate_from_id_async (frame->priv->iid, 0,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   110
+					  (BonoboActivationCallback) panel_applet_frame_activated,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   111
+					  frame_act, &ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   112
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   113
-	bonobo_activation_activate_from_id_async (frame->priv->iid, 0,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   114
-						  (BonoboActivationCallback) panel_applet_frame_activated,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   115
-						  frame_act, &ev);
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   116
-
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   117
-	CORBA_exception_free (&ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   118
+	    CORBA_exception_free (&ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   119
+    }
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   120
 }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   121
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   122
 void
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   123
@@ -428,6 +437,19 @@ panel_applet_frame_create (PanelToplevel
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   124
 	g_free (id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   125
 }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   126
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   127
+static void panel_applet_frame_reload (PanelAppletFrame *frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   128
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   129
+gboolean
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   130
+panel_applet_frame_refresh (PanelAppletFrame *frame)
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   131
+{
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   132
+	if ((frame->priv->ui_component == NULL) !=
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   133
+		panel_lockdown_is_applet_disabled (frame->priv->iid)) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   134
+		panel_applet_frame_reload (frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   135
+		return TRUE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   136
+	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   137
+	return FALSE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   138
+}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   139
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   140
 void
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   141
 panel_applet_frame_change_orientation (PanelAppletFrame *frame,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   142
 				       PanelOrientation  orientation)
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   143
@@ -872,6 +894,33 @@ panel_applet_frame_button_changed (GtkWi
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   144
 	return handled;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   145
 }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   146
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   147
+static void 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   148
+panel_applet_frame_reload (PanelAppletFrame *frame)
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   149
+{
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   150
+	PanelWidget *panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   151
+	char        *iid;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   152
+	char        *id = NULL;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   153
+	int          position = -1;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   154
+	gboolean     locked = FALSE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   155
+	AppletInfo  *info = NULL;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   156
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   157
+	info = frame->priv->applet_info;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   158
+	panel = frame->priv->panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   159
+	iid   = g_strdup (frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   160
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   161
+	if (info) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   162
+        id = g_strdup (info->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   163
+        position  = panel_applet_get_position (info);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   164
+        locked = panel_widget_get_applet_locked (panel, info->widget);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   165
+        panel_applet_clean (info);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   166
+	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   167
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   168
+	panel_applet_frame_load (iid, panel, locked, position, TRUE, id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   169
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   170
+	g_free (iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   171
+	g_free (id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   172
+}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   173
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   174
 static void
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   175
 panel_applet_frame_reload_response (GtkWidget        *dialog,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   176
 				    int               response,
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   177
@@ -890,28 +939,7 @@ panel_applet_frame_reload_response (GtkW
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   178
 	info = frame->priv->applet_info;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   179
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   180
 	if (response == GTK_RESPONSE_YES) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   181
-		PanelWidget *panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   182
-		char        *iid;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   183
-		char        *id = NULL;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   184
-		int          position = -1;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   185
-		gboolean     locked = FALSE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   186
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   187
-		panel = frame->priv->panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   188
-		iid   = g_strdup (frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   189
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   190
-		if (info) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   191
-			id = g_strdup (info->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   192
-			position  = panel_applet_get_position (info);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   193
-			locked = panel_widget_get_applet_locked (panel, info->widget);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   194
-			panel_applet_clean (info);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   195
-		}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   196
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   197
-		panel_applet_frame_load (iid, panel, locked,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   198
-					 position, TRUE, id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   199
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   200
-		g_free (iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   201
-		g_free (id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   202
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   203
+		panel_applet_frame_reload (frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   204
 	} else if (info) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   205
 		/* if we can't write to applets list we can't really delete
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   206
 		   it, so we'll just ignore this.  FIXME: handle this
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   207
@@ -1280,169 +1308,174 @@ panel_applet_frame_activated (CORBA_Obje
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   208
 	frame_act = (PanelAppletFrameActivating *) data;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   209
 	frame = frame_act->frame;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   210
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   211
-	/* according to the source of bonobo control == NULL && no
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   212
-	   exception can happen, so handle it */
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   213
-	if (error_reason != NULL || object == CORBA_OBJECT_NIL) {
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   214
-		g_warning (G_STRLOC ": failed to load applet %s:\n%s",
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   215
-			   frame->priv->iid, error_reason);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   216
-		panel_applet_frame_loading_failed (frame, frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   217
-		g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   218
-		g_free (frame_act);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   219
-		return;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   220
-	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   221
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   222
-	CORBA_exception_init (&corba_ev);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   223
-
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   224
-	item_name = panel_applet_frame_construct_item (frame,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   225
-						       frame->priv->panel,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   226
-						       frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   227
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   228
-	frame->priv->control = CORBA_OBJECT_NIL;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   229
-	container = Bonobo_Unknown_queryInterface (object,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   230
-						   "IDL:Bonobo/ItemContainer:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   231
-						   &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   232
-	if (!BONOBO_EX (&corba_ev) && container != CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   233
-		Bonobo_Unknown containee;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   234
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   235
-		containee = Bonobo_ItemContainer_getObjectByName (container,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   236
-								  item_name,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   237
-								  TRUE,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   238
-								  &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   239
-		bonobo_object_release_unref (container, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   240
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   241
-		if (!BONOBO_EX (&corba_ev) && containee != CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   242
-			frame->priv->control =
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   243
-				Bonobo_Unknown_queryInterface (containee,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   244
-							       "IDL:Bonobo/Control:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   245
-							       &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   246
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   247
-			bonobo_object_release_unref (containee, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   248
-		}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   249
-	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   250
-	g_free (item_name);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   251
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   252
-	if (frame->priv->control == CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   253
-		error = bonobo_exception_get_text (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   254
-		g_warning (G_STRLOC ": failed to get Bonobo/Control interface on applet %s:\n%s",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   255
-                           frame->priv->iid, error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   256
-		panel_applet_frame_loading_failed (frame, frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   257
-		CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   258
-		bonobo_object_release_unref (object, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   259
-                g_free (frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   260
-		g_free (frame_act);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   261
-		g_free (error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   262
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   263
-	}
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   264
-
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   265
-	widget = bonobo_widget_new_control_from_objref (frame->priv->control,
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   266
-							CORBA_OBJECT_NIL);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   267
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   268
-	CORBA_exception_free (&corba_ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   269
-	bonobo_object_release_unref (object, NULL);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   270
-
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   271
-	if (!widget) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   272
-		g_warning (G_STRLOC ": failed to load applet %s",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   273
-			   frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   274
-		panel_applet_frame_loading_failed (frame, frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   275
-		g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   276
-		g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   277
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   278
-	}
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   279
-
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   280
-	control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (widget));
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   281
-	if (control_frame == NULL) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   282
-		g_warning (G_STRLOC ": failed to load applet %s "
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   283
-			   "(cannot get control frame)", frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   284
-		panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   285
-		g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   286
-		g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   287
-		g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   288
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   289
-	}
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   290
-
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   291
-	frame->priv->property_bag = 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   292
-		bonobo_control_frame_get_control_property_bag (control_frame,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   293
-							       &corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   294
-	if (frame->priv->property_bag == NULL || BONOBO_EX (&corba_ev)) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   295
-		error = bonobo_exception_get_text (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   296
-		CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   297
-		g_warning (G_STRLOC ": failed to load applet %s "
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   298
-			   "(cannot get property bag):\n%s",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   299
-			   frame->priv->iid, error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   300
-		panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   301
-		g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   302
-		g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   303
-		g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   304
-		g_free (error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   305
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   306
-	}
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   307
-
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   308
-	bonobo_event_source_client_add_listener (frame->priv->property_bag,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   309
-						 (BonoboListenerCallbackFn) panel_applet_frame_event_listener,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   310
-						 "Bonobo/Property:change:panel-applet",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   311
-						 NULL,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   312
-						 frame);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   313
+    if (error_reason == NULL ||
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   314
+        (error_reason != NULL && strncmp (error_reason, "LOCKED", 6) != 0)) {
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   315
+	    /* according to the source of bonobo control == NULL && no
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   316
+	       exception can happen, so handle it */
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   317
+	    if (error_reason != NULL || object == CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   318
+		    g_warning (G_STRLOC ": failed to load applet %s:\n%s",
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   319
+			    frame->priv->iid, error_reason);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   320
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   321
+		    g_free (frame_act->id);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   322
+		    g_free (frame_act);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   323
+		    return;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   324
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   325
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   326
+	    CORBA_exception_init (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   327
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   328
+	    item_name = panel_applet_frame_construct_item (frame,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   329
+						        frame->priv->panel,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   330
+						        frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   331
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   332
+	    frame->priv->control = CORBA_OBJECT_NIL;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   333
+	    container = Bonobo_Unknown_queryInterface (object,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   334
+						    "IDL:Bonobo/ItemContainer:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   335
+						    &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   336
+	    if (!BONOBO_EX (&corba_ev) && container != CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   337
+		    Bonobo_Unknown containee;
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   338
+    
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   339
+		    containee = Bonobo_ItemContainer_getObjectByName (container,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   340
+								    item_name,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   341
+								    TRUE,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   342
+								    &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   343
+		    bonobo_object_release_unref (container, NULL);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   344
+    
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   345
+		    if (!BONOBO_EX (&corba_ev) && containee != CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   346
+			    frame->priv->control =
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   347
+				    Bonobo_Unknown_queryInterface (containee,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   348
+							        "IDL:Bonobo/Control:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   349
+							        &corba_ev);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   350
+    
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   351
+			    bonobo_object_release_unref (containee, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   352
+		    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   353
+	    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   354
+	    g_free (item_name);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   355
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   356
+	    if (frame->priv->control == CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   357
+		    error = bonobo_exception_get_text (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   358
+		    g_warning (G_STRLOC ": failed to get Bonobo/Control interface on applet %s:\n%s",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   359
+                            frame->priv->iid, error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   360
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   361
+		    CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   362
+		    bonobo_object_release_unref (object, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   363
+                    g_free (frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   364
+		    g_free (frame_act);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   365
+		    g_free (error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   366
+		    return;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   367
+	    }
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   368
+    
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   369
+	    widget = bonobo_widget_new_control_from_objref (frame->priv->control,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   370
+							    CORBA_OBJECT_NIL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   371
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   372
+	    CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   373
+	    bonobo_object_release_unref (object, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   374
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   375
+	    if (!widget) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   376
+		    g_warning (G_STRLOC ": failed to load applet %s",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   377
+			    frame->priv->iid);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   378
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   379
+		    g_free (frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   380
+		    g_free (frame_act);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   381
+		    return;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   382
+	    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   383
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   384
+	    control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (widget));
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   385
+	    if (control_frame == NULL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   386
+		    g_warning (G_STRLOC ": failed to load applet %s "
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   387
+			    "(cannot get control frame)", frame->priv->iid);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   388
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   389
+		    g_object_unref (widget);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   390
+		    g_free (frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   391
+		    g_free (frame_act);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   392
+		    return;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   393
+	    }
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   394
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   395
+	    frame->priv->property_bag = 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   396
+		    bonobo_control_frame_get_control_property_bag (control_frame,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   397
+							        &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   398
+	    if (frame->priv->property_bag == NULL || BONOBO_EX (&corba_ev)) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   399
+		    error = bonobo_exception_get_text (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   400
+		    CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   401
+		    g_warning (G_STRLOC ": failed to load applet %s "
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   402
+			    "(cannot get property bag):\n%s",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   403
+			    frame->priv->iid, error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   404
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   405
+		    g_object_unref (widget);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   406
+		    g_free (frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   407
+		    g_free (frame_act);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   408
+		    g_free (error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   409
+		    return;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   410
+	    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   411
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   412
+	    bonobo_event_source_client_add_listener (frame->priv->property_bag,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   413
+						    (BonoboListenerCallbackFn) panel_applet_frame_event_listener,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   414
+						    "Bonobo/Property:change:panel-applet",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   415
+						    NULL,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   416
+						    frame);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   417
 	
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   418
-	frame->priv->ui_component =
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   419
-		bonobo_control_frame_get_popup_component (control_frame,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   420
-							  &corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   421
-	if (frame->priv->ui_component == NULL || BONOBO_EX (&corba_ev)) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   422
-		error = bonobo_exception_get_text (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   423
-		CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   424
-		g_warning (G_STRLOC ": failed to load applet %s "
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   425
-			   "(cannot get popup component):\n%s",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   426
-			   frame->priv->iid, error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   427
-		panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   428
-		g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   429
-		g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   430
-		g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   431
-		g_free (error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   432
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   433
-	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   434
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   435
-	bonobo_ui_util_set_ui (frame->priv->ui_component, DATADIR,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   436
-			       "GNOME_Panel_Popup.xml", "panel", NULL);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   437
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   438
-	bonobo_ui_component_add_listener (frame->priv->ui_component,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   439
-					  "LockAppletToPanel",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   440
-					  listener_popup_handle_lock,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   441
-					  frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   442
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   443
-	bonobo_ui_component_add_verb_list_with_data (
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   444
-		frame->priv->ui_component, popup_verbs, frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   445
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   446
-	control = bonobo_control_frame_get_control (control_frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   447
-	if (!control) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   448
-		CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   449
-		g_warning (G_STRLOC ": failed to load applet %s "
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   450
-			   "(cannot get control)", frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   451
-		panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   452
-		g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   453
-		g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   454
-		g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   455
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   456
-	}
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   457
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   458
-	frame->priv->applet_shell = panel_applet_frame_get_applet_shell (control);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   459
-	if (frame->priv->applet_shell == CORBA_OBJECT_NIL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   460
-		CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   461
-		g_warning (G_STRLOC ": failed to load applet %s "
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   462
-			   "(cannot get applet shell)", frame->priv->iid);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   463
-		panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   464
-		g_object_unref (widget);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   465
-		g_free (frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   466
-		g_free (frame_act);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   467
-		return;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   468
-	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   469
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   470
-	CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   471
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   472
-	ORBit_small_listen_for_broken (object,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   473
-				       G_CALLBACK (panel_applet_frame_cnx_broken),
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   474
-				       frame);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   475
+	    frame->priv->ui_component =
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   476
+		    bonobo_control_frame_get_popup_component (control_frame,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   477
+							    &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   478
+	    if (frame->priv->ui_component == NULL || BONOBO_EX (&corba_ev)) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   479
+		    error = bonobo_exception_get_text (&corba_ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   480
+		    CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   481
+		    g_warning (G_STRLOC ": failed to load applet %s "
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   482
+			    "(cannot get popup component):\n%s",
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   483
+			    frame->priv->iid, error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   484
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   485
+		    g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   486
+		    g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   487
+		    g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   488
+		    g_free (error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   489
+		    return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   490
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   491
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   492
+	    bonobo_ui_util_set_ui (frame->priv->ui_component, DATADIR,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   493
+			        "GNOME_Panel_Popup.xml", "panel", NULL);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   494
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   495
+	    bonobo_ui_component_add_listener (frame->priv->ui_component,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   496
+					    "LockAppletToPanel",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   497
+					    listener_popup_handle_lock,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   498
+					    frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   499
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   500
+	    bonobo_ui_component_add_verb_list_with_data (
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   501
+		    frame->priv->ui_component, popup_verbs, frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   502
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   503
+	    control = bonobo_control_frame_get_control (control_frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   504
+	    if (!control) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   505
+		    CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   506
+		    g_warning (G_STRLOC ": failed to load applet %s "
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   507
+			    "(cannot get control)", frame->priv->iid);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   508
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   509
+		    g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   510
+		    g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   511
+		    g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   512
+		    return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   513
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   514
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   515
+	    frame->priv->applet_shell = panel_applet_frame_get_applet_shell (control);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   516
+	    if (frame->priv->applet_shell == CORBA_OBJECT_NIL) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   517
+		    CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   518
+		    g_warning (G_STRLOC ": failed to load applet %s "
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   519
+			    "(cannot get applet shell)", frame->priv->iid);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   520
+		    panel_applet_frame_loading_failed (frame, frame_act->id);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   521
+		    g_object_unref (widget);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   522
+		    g_free (frame_act->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   523
+		    g_free (frame_act);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   524
+		    return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   525
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   526
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   527
+	    CORBA_exception_free (&corba_ev);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   528
+    
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   529
+	    ORBit_small_listen_for_broken (object,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   530
+				        G_CALLBACK (panel_applet_frame_cnx_broken),
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   531
+				        frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   532
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   533
-	gtk_container_add (GTK_CONTAINER (frame), widget);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   534
+	    gtk_container_add (GTK_CONTAINER (frame), widget);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   535
+    }
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   536
 
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   537
+    /* Regardless of whether the object was loaded, the corresponding
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   538
+       applet is created to handle lockdown state changes */
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   539
 	gtk_widget_show_all (GTK_WIDGET (frame));
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   540
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   541
 	info = panel_applet_register (GTK_WIDGET (frame), GTK_WIDGET (frame),
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   542
@@ -1456,7 +1489,10 @@ panel_applet_frame_activated (CORBA_Obje
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   543
 						  GTK_WIDGET (frame), TRUE);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   544
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   545
 	panel_applet_frame_sync_menu_state (frame);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   546
-	panel_applet_frame_init_properties (frame);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   547
+    
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   548
+    if (frame->priv->property_bag) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   549
+	    panel_applet_frame_init_properties (frame);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   550
+    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   551
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   552
 	panel_lockdown_notify_add (G_CALLBACK (panel_applet_frame_sync_menu_state),
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   553
 				   frame);