[gnome-panel] libpanel-applet-private: remove GtkSocket
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] libpanel-applet-private: remove GtkSocket
- Date: Wed, 21 Sep 2016 15:05:32 +0000 (UTC)
commit b614b2755ae646b71a144906dfb39f96e5d7bb47
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Wed Sep 21 17:07:18 2016 +0300
libpanel-applet-private: remove GtkSocket
.../panel-applet-container.c | 79 ++-----------------
libpanel-applet/panel-applet-factory.c | 8 +--
2 files changed, 11 insertions(+), 76 deletions(-)
---
diff --git a/gnome-panel/libpanel-applet-private/panel-applet-container.c
b/gnome-panel/libpanel-applet-private/panel-applet-container.c
index fea6bfe..95bb243 100644
--- a/gnome-panel/libpanel-applet-private/panel-applet-container.c
+++ b/gnome-panel/libpanel-applet-private/panel-applet-container.c
@@ -18,9 +18,11 @@
*
*/
+#include "config.h"
+
#include <string.h>
-#include <gtk/gtkx.h>
#include <panel-applets-manager.h>
+
#include "panel-applet-container.h"
#include "panel-marshal.h"
@@ -31,10 +33,7 @@ struct _PanelAppletContainerPrivate {
gchar *bus_name;
gchar *iid;
- gboolean out_of_process;
- guint32 xid;
guint32 uid;
- GtkWidget *socket;
GHashTable *pending_ops;
};
@@ -71,8 +70,6 @@ static const AppletPropertyInfo applet_properties [] = {
#define PANEL_APPLET_FACTORY_OBJECT_PATH "/org/gnome/panel/applet/%s"
#define PANEL_APPLET_INTERFACE "org.gnome.panel.applet.Applet"
-static gboolean panel_applet_container_plug_removed (PanelAppletContainer *container);
-
G_DEFINE_TYPE (PanelAppletContainer, panel_applet_container, GTK_TYPE_EVENT_BOX);
GQuark
@@ -95,23 +92,10 @@ panel_applet_container_init (PanelAppletContainer *container)
static void
panel_applet_container_setup (PanelAppletContainer *container)
{
- if (container->priv->out_of_process) {
- container->priv->socket = gtk_socket_new ();
-
- g_signal_connect_swapped (container->priv->socket,
- "plug-removed",
- G_CALLBACK (panel_applet_container_plug_removed),
- container);
+ GtkWidget *applet;
- gtk_container_add (GTK_CONTAINER (container), container->priv->socket);
- gtk_widget_show (container->priv->socket);
- } else {
- GtkWidget *applet;
-
- applet = panel_applets_manager_get_applet_widget (container->priv->iid, container->priv->uid);
-
- gtk_container_add (GTK_CONTAINER (container), applet);
- }
+ applet = panel_applets_manager_get_applet_widget (container->priv->iid, container->priv->uid);
+ gtk_container_add (GTK_CONTAINER (container), applet);
}
static void
@@ -245,35 +229,6 @@ panel_applet_container_new (void)
return container;
}
-static gboolean
-panel_applet_container_plug_removed (PanelAppletContainer *container)
-{
- if (!container->priv->applet_proxy)
- return FALSE;
-
- panel_applet_container_cancel_pending_operations (container);
-
- if (container->priv->name_watcher_id > 0) {
- g_bus_unwatch_name (container->priv->name_watcher_id);
- container->priv->name_watcher_id = 0;
- }
-
- g_object_unref (container->priv->applet_proxy);
- container->priv->applet_proxy = NULL;
-
- /* The "plug-removed" signal is also emitted when the socket is being
- * unrealized (eg., when PanelAppletContainer is torn down during
- * cleanup on exit). Only emit "applet-broken" if the socket is
- * still realized. */
- if (gtk_widget_get_realized (container->priv->socket))
- g_signal_emit (container, signals[APPLET_BROKEN], 0);
-
- /* Continue destroying, in case of reloading
- * a new frame widget is created
- */
- return FALSE;
-}
-
static void
panel_applet_container_child_signal (GDBusProxy *proxy,
gchar *sender_name,
@@ -359,12 +314,6 @@ on_proxy_appeared (GObject *source_object,
g_object_unref (task);
panel_applet_container_setup (container);
-
- if (container->priv->xid > 0) {
- gtk_socket_add_id (GTK_SOCKET (container->priv->socket),
- container->priv->xid);
- }
-
g_object_unref (container);
}
@@ -391,12 +340,7 @@ get_applet_cb (GObject *source_object,
container = PANEL_APPLET_CONTAINER (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
- g_variant_get (retvals,
- "(&obuu)",
- &applet_path,
- &container->priv->out_of_process,
- &container->priv->xid,
- &container->priv->uid);
+ g_variant_get (retvals, "(&ou)", &applet_path, &container->priv->uid);
g_dbus_proxy_new (connection,
G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
@@ -450,7 +394,7 @@ on_factory_appeared (GDBusConnection *connection,
PANEL_APPLET_FACTORY_INTERFACE,
"GetApplet",
data->parameters,
- G_VARIANT_TYPE ("(obuu)"),
+ G_VARIANT_TYPE ("(ou)"),
G_DBUS_CALL_FLAGS_NONE,
-1,
data->cancellable,
@@ -470,7 +414,6 @@ panel_applet_container_get_applet (PanelAppletContainer *container,
{
GTask *task;
AppletFactoryData *data;
- gint screen_number;
gchar *bus_name;
gchar *factory_id;
gchar *applet_id;
@@ -492,14 +435,10 @@ panel_applet_container_get_applet (PanelAppletContainer *container,
factory_id = g_strndup (iid, strlen (iid) - strlen (applet_id));
applet_id += 2;
- /* we can't use the screen of the container widget since it's not in a
- * widget hierarchy yet */
- screen_number = gdk_screen_get_number (screen);
-
data = g_new (AppletFactoryData, 1);
data->task = task;
data->factory_id = factory_id;
- data->parameters = g_variant_new ("(si*)", applet_id, screen_number, props);
+ data->parameters = g_variant_new ("(s*)", applet_id, props);
data->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
bus_name = g_strdup_printf (PANEL_APPLET_BUS_NAME, factory_id);
diff --git a/libpanel-applet/panel-applet-factory.c b/libpanel-applet/panel-applet-factory.c
index 091de01..9171f8a 100644
--- a/libpanel-applet/panel-applet-factory.c
+++ b/libpanel-applet/panel-applet-factory.c
@@ -184,13 +184,12 @@ panel_applet_factory_get_applet (PanelAppletFactory *factory,
{
GObject *applet;
const gchar *applet_id;
- gint screen_num;
GVariant *props;
GVariant *return_value;
guint32 uid;
const gchar *object_path;
- g_variant_get (parameters, "(&si@a{sv})", &applet_id, &screen_num, &props);
+ g_variant_get (parameters, "(&s@a{sv})", &applet_id, &props);
applet = g_object_new (factory->applet_type,
"id", applet_id,
@@ -209,7 +208,7 @@ panel_applet_factory_get_applet (PanelAppletFactory *factory,
g_hash_table_insert (factory->applets, GUINT_TO_POINTER (uid), applet);
g_object_set_data (applet, "uid", GUINT_TO_POINTER (uid));
- return_value = g_variant_new ("(obuu)", object_path, FALSE, 0, uid);
+ return_value = g_variant_new ("(ou)", object_path, uid);
g_dbus_method_invocation_return_value (invocation, return_value);
}
@@ -236,11 +235,8 @@ static const gchar introspection_xml[] =
"<interface name='org.gnome.panel.applet.AppletFactory'>"
"<method name='GetApplet'>"
"<arg name='applet_id' type='s' direction='in'/>"
- "<arg name='screen' type='i' direction='in'/>"
"<arg name='props' type='a{sv}' direction='in'/>"
"<arg name='applet' type='o' direction='out'/>"
- "<arg name='out-of-process' type='b' direction='out'/>"
- "<arg name='xid' type='u' direction='out'/>"
"<arg name='uid' type='u' direction='out'/>"
"</method>"
"</interface>"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]