patches/gnome-panel-11-lockdown-applets.diff
author mattman
Mon, 13 Jul 2009 14:24:24 +0000
changeset 16014 657275c2abd8
parent 14988 c1837618ac97
permissions -rw-r--r--
* SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs * copyright/SUNWgnome-panel.copyright : Update %doc for 2.26.3 tarballs * base-specs/libgweather.spec : Bump to 2.26.2.1 * patches/libgweather-01-disable-shave.diff : New patch to disable using SHAVE build output formatter, DOO : 9306 * base-specs/libwnck.spec : Bump to 2.26.2 * patches/libwnck-01-trusted-extensions.diff : Re-work * patches/libwnck-02-disable-shave.diff : New patch to disable using SHAVE build output formatter, DOO : 9306 * base-specs/gnome-panel.spec : Bump to 2.26.3 * patches/gnome-panel-01-default-setup-indiana.diff : Re-Work * patches/gnome-panel-01-default-setup.diff : Re-Work * patches/gnome-panel-03-concurrent-login.diff : Re-Work * patches/gnome-panel-05-notificationarea-tooltip.diff : Re-Work * patches/gnome-panel-06-input-method-filter-keypress.diff : Re-Work * patches/gnome-panel-07-restrict-app-launching.diff : Re-Work * patches/gnome-panel-08-launch-menu.diff : Re-Work * patches/gnome-panel-09-solaris-branding.diff : Re-Work * patches/gnome-panel-10-trusted-extensions.diff : Re-Work * patches/gnome-panel-11-lockdown-applets.diff : Re-Work * patches/gnome-panel-12-double-func.diff : Re-Work * patches/gnome-panel-13-tooltip.diff : Re-Work * patches/gnome-panel-14-hide-show-weather.diff : Re-Work * patches/gnome-panel-15-use-time-admin.diff : Re-Work * base-specs/gnome-menus.spec : Bump to 2.26.2 * patches/gnome-menus-05-disable-shave.diff : New patch to disable using SHAVE build output formatter, DOO : 9306
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     1
--- gnome-panel-2.25.5.1.old/gnome-panel/panel-applet-frame.h	2009-01-29 18:11:25.530025000 +0000
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     2
+++ gnome-panel-2.25.5.1/gnome-panel/panel-applet-frame.h	2009-01-29 18:12:31.992992000 +0000
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     3
@@ -77,6 +77,13 @@ void       panel_applet_frame_load_from_
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     4
 
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     5
 void            panel_applet_frame_set_panel (PanelAppletFrame *frame,
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     6
 					      PanelWidget      *panel);
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     7
+/**
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     8
+  * Checks whether the applet has been disabled or reenabled and if necessary
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
     9
+  * rebuilds the applet.
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    10
+  * Returns true if the applet frame was rebuilt as a result of its restriction
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    11
+  * status changing.
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    12
+  */
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    13
+gboolean        panel_applet_frame_refresh (PanelAppletFrame *frame);
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    14
 
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    15
 G_END_DECLS
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    16
 
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    17
/jds/bin/diff -uprN gnome-panel-2.26.3.old/gnome-panel/applet.c gnome-panel-2.26.3/gnome-panel/applet.c
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    18
--- gnome-panel-2.26.3.old/gnome-panel/applet.c	2009-06-28 15:16:20.000000000 +0100
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    19
+++ gnome-panel-2.26.3/gnome-panel/applet.c	2009-07-01 20:36:42.852019000 +0100
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
    20
@@ -160,6 +160,31 @@ panel_applet_recreate_menu (AppletInfo	*
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    21
 	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
    22
 }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    23
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    24
+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
    25
+{
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    26
+    if (info->type == PANEL_OBJECT_LAUNCHER) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    27
+        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
    28
+            gtk_widget_hide(info->widget) ;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    29
+        }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    30
+        else { gtk_widget_show(info->widget) ; }
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
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    34
+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
    35
+{
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    36
+    if (info->type == PANEL_OBJECT_BONOBO) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    37
+        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
    38
+            /* 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
    39
+               recreating the menu. */
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    40
+            panel_applet_recreate_menu(info) ;
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
+    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    43
+    else {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    44
+        panel_applet_check_visibility(info) ;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    45
+        panel_applet_recreate_menu(info) ;
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
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    49
 static void
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    50
 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
    51
 				   guint        cnxn_id,
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
    52
@@ -753,8 +778,7 @@ panel_applet_destroy (GtkWidget  *widget
13158
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
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    56
-	if (info->type != PANEL_OBJECT_BONOBO)
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_recreate_menu),
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
    58
+	panel_lockdown_notify_remove (G_CALLBACK (panel_applet_recreate_menu),
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    59
 					      info);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    60
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    61
 	if (info->menu)
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    62
@@ -1266,8 +1290,7 @@ panel_applet_register (GtkWidget       *
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    63
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    64
 	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
    65
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    66
-	if (type != PANEL_OBJECT_BONOBO)
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_recreate_menu),
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
    68
+	panel_lockdown_notify_add (G_CALLBACK (panel_applet_recreate_menu),
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    69
 					   info);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    70
 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
    71
 	key = panel_gconf_full_key ((type == PANEL_OBJECT_BONOBO) ?
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    72
/jds/bin/diff -uprN gnome-panel-2.26.3.old/gnome-panel/panel-applet-frame.c gnome-panel-2.26.3/gnome-panel/panel-applet-frame.c
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    73
--- gnome-panel-2.26.3.old/gnome-panel/panel-applet-frame.c	2009-07-01 20:33:01.341801000 +0100
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
    74
+++ gnome-panel-2.26.3/gnome-panel/panel-applet-frame.c	2009-07-01 20:36:42.854780000 +0100
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    75
@@ -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
    76
 	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
    77
 	removable = panel_profile_id_lists_are_writable ();
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    78
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    79
+	/* 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
    80
+	if (frame->priv->ui_component == NULL)
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    81
+		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    82
+
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    83
 	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
    84
 
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    85
 	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
    86
@@ -342,9 +346,6 @@ panel_applet_frame_load (const gchar *ii
9377
d42e1e7710db Minor rework for gnome-panel patches
dcarbery
parents: 9136
diff changeset
    87
 				 (GCompareFunc) strcmp))
d42e1e7710db Minor rework for gnome-panel patches
dcarbery
parents: 9136
diff changeset
    88
 		return;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    89
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    90
-	if (panel_lockdown_is_applet_disabled (iid))
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    91
-		return;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    92
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    93
 	frame = g_object_new (PANEL_TYPE_APPLET_FRAME, NULL);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    94
 	frame->priv->panel = panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    95
 	frame->priv->iid   = g_strdup (iid);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
    96
@@ -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
    97
 	frame_act->exactpos = exactpos;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    98
 	frame_act->id       = g_strdup (id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
    99
 
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   100
-	CORBA_exception_init (&ev);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   101
-
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   102
-	bonobo_activation_activate_from_id_async (frame->priv->iid, 0,
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   103
-						  (BonoboActivationCallback) panel_applet_frame_activated,
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   104
-						  frame_act, &ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   105
+	/* 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
   106
+       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
   107
+       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
   108
+	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
   109
+		panel_applet_frame_activated (NULL, "LOCKED", frame_act); 
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   110
+	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   111
+	else {
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   112
+	    CORBA_exception_init (&ev);
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   113
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   114
+	    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
   115
+					  (BonoboActivationCallback) panel_applet_frame_activated,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   116
+					  frame_act, &ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   117
 
13158
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
+	    CORBA_exception_free (&ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   120
+    }
8382
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
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   123
 void
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
   124
@@ -429,6 +438,19 @@ panel_applet_frame_create (PanelToplevel
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   125
 	g_free (id);
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
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   128
+static void panel_applet_frame_reload (PanelAppletFrame *frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   129
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   130
+gboolean
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   131
+panel_applet_frame_refresh (PanelAppletFrame *frame)
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   132
+{
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   133
+	if ((frame->priv->ui_component == NULL) !=
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   134
+		panel_lockdown_is_applet_disabled (frame->priv->iid)) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   135
+		panel_applet_frame_reload (frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   136
+		return TRUE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   137
+	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   138
+	return FALSE;
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
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   141
 void
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   142
 panel_applet_frame_change_orientation (PanelAppletFrame *frame,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   143
 				       PanelOrientation  orientation)
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
   144
@@ -873,6 +895,33 @@ panel_applet_frame_button_changed (GtkWi
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   145
 	return handled;
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
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   148
+static void 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   149
+panel_applet_frame_reload (PanelAppletFrame *frame)
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   150
+{
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   151
+	PanelWidget *panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   152
+	char        *iid;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   153
+	char        *id = NULL;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   154
+	int          position = -1;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   155
+	gboolean     locked = FALSE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   156
+	AppletInfo  *info = NULL;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   157
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   158
+	info = frame->priv->applet_info;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   159
+	panel = frame->priv->panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   160
+	iid   = g_strdup (frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   161
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   162
+	if (info) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   163
+        id = g_strdup (info->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   164
+        position  = panel_applet_get_position (info);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   165
+        locked = panel_widget_get_applet_locked (panel, info->widget);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   166
+        panel_applet_clean (info);
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
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   169
+	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
   170
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   171
+	g_free (iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   172
+	g_free (id);
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
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   175
 static void
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   176
 panel_applet_frame_reload_response (GtkWidget        *dialog,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   177
 				    int               response,
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
   178
@@ -891,28 +940,7 @@ panel_applet_frame_reload_response (GtkW
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   179
 	info = frame->priv->applet_info;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   180
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   181
 	if (response == GTK_RESPONSE_YES) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   182
-		PanelWidget *panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   183
-		char        *iid;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   184
-		char        *id = NULL;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   185
-		int          position = -1;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   186
-		gboolean     locked = FALSE;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   187
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   188
-		panel = frame->priv->panel;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   189
-		iid   = g_strdup (frame->priv->iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   190
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   191
-		if (info) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   192
-			id = g_strdup (info->id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   193
-			position  = panel_applet_get_position (info);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   194
-			locked = panel_widget_get_applet_locked (panel, info->widget);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   195
-			panel_applet_clean (info);
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
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   198
-		panel_applet_frame_load (iid, panel, locked,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   199
-					 position, TRUE, id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   200
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   201
-		g_free (iid);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   202
-		g_free (id);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   203
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   204
+		panel_applet_frame_reload (frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   205
 	} else if (info) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   206
 		/* 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
   207
 		   it, so we'll just ignore this.  FIXME: handle this
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
   208
@@ -1282,140 +1310,145 @@ panel_applet_frame_activated (CORBA_Obje
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   209
 	frame_act = (PanelAppletFrameActivating *) data;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   210
 	frame = frame_act->frame;
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   211
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   212
-	/* according to the source of bonobo control == NULL && no
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   213
-	   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
   214
-	if (error_reason != NULL || object == CORBA_OBJECT_NIL) {
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   215
-		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
   216
-			   frame->priv->iid, error_reason);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   217
-		goto error_out;
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   218
-	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   219
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   220
-	CORBA_exception_init (&corba_ev);
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   221
-
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   222
-	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
   223
-						       frame->priv->panel,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   224
-						       frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   225
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   226
-	frame->priv->control = CORBA_OBJECT_NIL;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   227
-	container = Bonobo_Unknown_queryInterface (object,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   228
-						   "IDL:Bonobo/ItemContainer:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   229
-						   &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   230
-	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
   231
-		Bonobo_Unknown containee;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   232
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   233
-		containee = Bonobo_ItemContainer_getObjectByName (container,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   234
-								  item_name,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   235
-								  TRUE,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   236
-								  &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   237
-		bonobo_object_release_unref (container, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   238
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   239
-		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
   240
-			frame->priv->control =
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   241
-				Bonobo_Unknown_queryInterface (containee,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   242
-							       "IDL:Bonobo/Control:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   243
-							       &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   244
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   245
-			bonobo_object_release_unref (containee, NULL);
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
-	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   248
-	g_free (item_name);
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
-	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
   251
-		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
   252
-		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
   253
-                           frame->priv->iid, error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   254
-		CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   255
-		bonobo_object_release_unref (object, NULL);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   256
-		g_free (error);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   257
-		goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   258
-	}
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   259
-
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   260
-	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
   261
-							CORBA_OBJECT_NIL);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   262
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   263
-	CORBA_exception_free (&corba_ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   264
-	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
   265
-
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   266
-	if (!widget) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   267
-		g_warning (G_STRLOC ": failed to load applet %s",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   268
-			   frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   269
-		goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   270
-	}
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   271
+    if (error_reason == NULL ||
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   272
+        (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
   273
+	    /* according to the source of bonobo control == NULL && no
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   274
+	    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
   275
+	    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
   276
+		    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
   277
+			    frame->priv->iid, error_reason);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   278
+		    goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   279
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   280
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   281
+	    CORBA_exception_init (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   282
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   283
+	    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
   284
+						        frame->priv->panel,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   285
+						        frame_act->id);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   286
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   287
+	    frame->priv->control = CORBA_OBJECT_NIL;
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   288
+	    container = Bonobo_Unknown_queryInterface (object,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   289
+						    "IDL:Bonobo/ItemContainer:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   290
+						    &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   291
+	    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
   292
+		    Bonobo_Unknown containee;
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   293
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   294
+		    containee = Bonobo_ItemContainer_getObjectByName (container,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   295
+								    item_name,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   296
+								    TRUE,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   297
+								    &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   298
+		    bonobo_object_release_unref (container, NULL);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   299
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   300
+		    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
   301
+			    frame->priv->control =
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   302
+				    Bonobo_Unknown_queryInterface (containee,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   303
+							        "IDL:Bonobo/Control:1.0",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   304
+							        &corba_ev);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   305
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   306
+			    bonobo_object_release_unref (containee, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   307
+		    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   308
+	    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   309
+	    g_free (item_name);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   310
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   311
+	    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
   312
+		    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
   313
+		    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
   314
+                            frame->priv->iid, error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   315
+		    CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   316
+		    bonobo_object_release_unref (object, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   317
+		    g_free (error);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   318
+		    goto error_out;
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   319
+	    }
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   320
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   321
+	    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
   322
+							    CORBA_OBJECT_NIL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   323
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   324
+	    CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   325
+	    bonobo_object_release_unref (object, NULL);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   326
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   327
+	    if (!widget) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   328
+		    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
   329
+			    frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   330
+		    goto error_out;
13158
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
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   333
+	    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
   334
+	    if (control_frame == NULL) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   335
+		    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
   336
+			    "(cannot get control frame)", frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   337
+		    goto error_out;
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   338
+	    }
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   339
 
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   340
-	control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (widget));
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   341
-	if (control_frame == NULL) {
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   342
-		g_warning (G_STRLOC ": failed to load applet %s "
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   343
-			   "(cannot get control frame)", frame->priv->iid);
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   344
-		goto error_out;
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   345
-	}
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   346
-
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   347
-	frame->priv->property_bag = 
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   348
-		bonobo_control_frame_get_control_property_bag (control_frame,
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   349
+	    frame->priv->property_bag = 
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   350
+		    bonobo_control_frame_get_control_property_bag (control_frame,
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   351
 							       &corba_ev);
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   352
-	if (frame->priv->property_bag == NULL || BONOBO_EX (&corba_ev)) {
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   353
-		error = bonobo_exception_get_text (&corba_ev);
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   354
-		CORBA_exception_free (&corba_ev);
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   355
-		g_warning (G_STRLOC ": failed to load applet %s "
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   356
-			   "(cannot get property bag):\n%s",
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   357
-			   frame->priv->iid, error);
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   358
-		g_free (error);
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   359
-		goto error_out;
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   360
-	}
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   361
-
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   362
-	bonobo_event_source_client_add_listener (frame->priv->property_bag,
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   363
-						 (BonoboListenerCallbackFn) panel_applet_frame_event_listener,
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   364
-						 "Bonobo/Property:change:panel-applet",
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   365
-						 NULL,
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   366
-						 frame);
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   367
+	    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
   368
+		    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
   369
+		    CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   370
+		    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
   371
+			    "(cannot get property bag):\n%s",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   372
+			    frame->priv->iid, error);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   373
+		    g_free (error);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   374
+		    goto error_out;
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   375
+	    }
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   376
+
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   377
+	    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
   378
+						    (BonoboListenerCallbackFn) panel_applet_frame_event_listener,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   379
+						    "Bonobo/Property:change:panel-applet",
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   380
+						    NULL,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   381
+						    frame);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   382
 	
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   383
-	frame->priv->ui_component =
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   384
-		bonobo_control_frame_get_popup_component (control_frame,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   385
-							  &corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   386
-	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
   387
-		error = bonobo_exception_get_text (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   388
-		CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   389
-		g_warning (G_STRLOC ": failed to load applet %s "
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   390
-			   "(cannot get popup component):\n%s",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   391
-			   frame->priv->iid, error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   392
-		g_free (error);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   393
-		goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   394
-	}
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   395
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   396
-	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
   397
-			       "GNOME_Panel_Popup.xml", "panel", NULL);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   398
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   399
-	bonobo_ui_component_add_listener (frame->priv->ui_component,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   400
-					  "LockAppletToPanel",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   401
-					  listener_popup_handle_lock,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   402
-					  frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   403
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   404
-	bonobo_ui_component_add_verb_list_with_data (
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   405
-		frame->priv->ui_component, popup_verbs, frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   406
-
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   407
-	control = bonobo_control_frame_get_control (control_frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   408
-	if (!control) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   409
-		CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   410
-		g_warning (G_STRLOC ": failed to load applet %s "
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   411
-			   "(cannot get control)", frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   412
-		goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   413
-	}
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   414
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   415
-	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
   416
-	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
   417
-		CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   418
-		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
   419
-			   "(cannot get applet shell)", frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   420
-		goto error_out;
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   421
-	}
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   422
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   423
-	CORBA_exception_free (&corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   424
-
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   425
-	ORBit_small_listen_for_broken (object,
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   426
-				       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
   427
-				       frame);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   428
+	    frame->priv->ui_component =
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   429
+		    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
   430
+							    &corba_ev);
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   431
+	    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
   432
+		    error = bonobo_exception_get_text (&corba_ev);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   433
+		    CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   434
+		    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
   435
+			    "(cannot get popup component):\n%s",
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   436
+			    frame->priv->iid, error);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   437
+		    g_free (error);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   438
+		    goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   439
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   440
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   441
+	    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
   442
+			        "GNOME_Panel_Popup.xml", "panel", NULL);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   443
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   444
+	    bonobo_ui_component_add_listener (frame->priv->ui_component,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   445
+					    "LockAppletToPanel",
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   446
+					    listener_popup_handle_lock,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   447
+					    frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   448
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   449
+	    bonobo_ui_component_add_verb_list_with_data (
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   450
+		    frame->priv->ui_component, popup_verbs, frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   451
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   452
+	    control = bonobo_control_frame_get_control (control_frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   453
+	    if (!control) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   454
+		    CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   455
+		    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
   456
+			    "(cannot get control)", frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   457
+		    goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   458
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   459
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   460
+	    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
   461
+	    if (frame->priv->applet_shell == CORBA_OBJECT_NIL) {
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   462
+		    CORBA_exception_free (&corba_ev);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   463
+		    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
   464
+			    "(cannot get applet shell)", frame->priv->iid);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   465
+		    goto error_out;
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   466
+	    }
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   467
+
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   468
+	    CORBA_exception_free (&corba_ev);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   469
+
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   470
+	    ORBit_small_listen_for_broken (object,
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   471
+				        G_CALLBACK (panel_applet_frame_cnx_broken),
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   472
+				        frame);
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   473
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   474
-	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
   475
+	    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
   476
+    }
9136
d6c8f3b2455f * gnome-panel.spec : Bump to 2.17.90
mattman
parents: 8382
diff changeset
   477
 
14907
a551490c6cd1 * base-specs/gnome-panel.spec : Bump to 2.25.3
mattman
parents: 13463
diff changeset
   478
+    /* 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
   479
+       applet is created to handle lockdown state changes */
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   480
 	gtk_widget_show_all (GTK_WIDGET (frame));
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   481
 
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   482
 	info = panel_applet_register (GTK_WIDGET (frame), GTK_WIDGET (frame),
16014
657275c2abd8 * SUNWgnome-panel.spec : Update %doc for 2.26.3 tarballs
mattman
parents: 14988
diff changeset
   483
@@ -1429,7 +1462,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
   484
 						  GTK_WIDGET (frame), TRUE);
8382
5340d1f7700f Remove gnome-panel-02-workspace-switcher.diff : #127285, applied upstream.
mattman
parents:
diff changeset
   485
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   486
 	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
   487
-	panel_applet_frame_init_properties (frame);
14988
c1837618ac97 * patches/gnome-panel-11-lockdown-applets.diff : Re-worked
mattman
parents: 14907
diff changeset
   488
+
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   489
+    if (frame->priv->property_bag) {
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   490
+	    panel_applet_frame_init_properties (frame);
8382
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
 
13158
ab80b472fa59 * base-specs/gnome-pane.spec : Re-apply gnome-panel-13-lockdown-applets
mattman
parents: 9377
diff changeset
   493
 	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
   494
 				   frame);