[gtk+/gdk-backend: 52/91] Make GdkAppLaunchContext work again
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gdk-backend: 52/91] Make GdkAppLaunchContext work again
- Date: Sat, 18 Dec 2010 01:10:11 +0000 (UTC)
commit b167f8b009e3fda936866c3aae9c14b7aa570d05
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Dec 15 02:37:03 2010 -0500
Make GdkAppLaunchContext work again
We didn't set the display, ever. Add a construct-only property
for this purpose.
gdk/gdkapplaunchcontext.c | 50 +++++++++++++++++++++++++++++++++++++
gdk/x11/gdkapplaunchcontext-x11.c | 5 ++-
2 files changed, 53 insertions(+), 2 deletions(-)
---
diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c
index 075f8fd..88d5a53 100644
--- a/gdk/gdkapplaunchcontext.c
+++ b/gdk/gdkapplaunchcontext.c
@@ -66,19 +66,69 @@ static void gdk_app_launch_context_launch_failed (GAppLaunchContext *context,
const gchar *startup_notify_id);
+enum
+{
+ PROP_0,
+ PROP_DISPLAY
+};
+
G_DEFINE_TYPE (GdkAppLaunchContext, gdk_app_launch_context, G_TYPE_APP_LAUNCH_CONTEXT)
static void
+gdk_app_launch_context_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GdkAppLaunchContext *context = GDK_APP_LAUNCH_CONTEXT (object);
+
+ switch (prop_id)
+ {
+ case PROP_DISPLAY:
+ g_value_set_object (value, context->display);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ }
+}
+
+static void
+gdk_app_launch_context_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GdkAppLaunchContext *context = GDK_APP_LAUNCH_CONTEXT (object);
+
+ switch (prop_id)
+ {
+ case PROP_DISPLAY:
+ context->display = g_value_dup_object (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ }
+}
+
+static void
gdk_app_launch_context_class_init (GdkAppLaunchContextClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GAppLaunchContextClass *context_class = G_APP_LAUNCH_CONTEXT_CLASS (klass);
+ gobject_class->set_property = gdk_app_launch_context_set_property,
+ gobject_class->get_property = gdk_app_launch_context_get_property;
+
gobject_class->finalize = gdk_app_launch_context_finalize;
context_class->get_display = gdk_app_launch_context_get_display;
context_class->get_startup_notify_id = gdk_app_launch_context_get_startup_notify_id;
context_class->launch_failed = gdk_app_launch_context_launch_failed;
+
+ g_object_class_install_property (gobject_class, PROP_DISPLAY,
+ g_param_spec_object ("display", P_("Display"), P_("Display"),
+ GDK_TYPE_DISPLAY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
}
static void
diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c
index 7aebfa7..89ed5aa 100644
--- a/gdk/x11/gdkapplaunchcontext-x11.c
+++ b/gdk/x11/gdkapplaunchcontext-x11.c
@@ -453,8 +453,9 @@ _gdk_x11_display_get_app_launch_context (GdkDisplay *display)
{
GdkAppLaunchContext *ctx;
- ctx = g_object_new (_gdk_app_launch_context_x11_get_type (), NULL);
- gdk_app_launch_context_set_display (ctx, display);
+ ctx = g_object_new (_gdk_app_launch_context_x11_get_type (),
+ "display", display,
+ NULL);
return ctx;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]