From a4f91079a8a8dda83614148ac50e7ef7e162c9b1 Mon Sep 17 00:00:00 2001 From: Stefano Karapetsas Date: Thu, 25 Jul 2013 15:12:51 +0200 Subject: libcaja-private: Add GDK3 support --- libcaja-private/caja-icon-container.c | 4 ++++ libcaja-private/caja-program-choosing.c | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c index e7c421c2..eb069406 100644 --- a/libcaja-private/caja-icon-container.c +++ b/libcaja-private/caja-icon-container.c @@ -4551,7 +4551,11 @@ realize (GtkWidget *widget) set on it is drawn by X. */ if (container->details->is_desktop) { +#if GTK_CHECK_VERSION (3, 0, 0) + gdk_x11_window_get_xid (gtk_layout_get_bin_window (GTK_LAYOUT (widget))); +#else gdk_x11_drawable_get_xid (gtk_layout_get_bin_window (GTK_LAYOUT (widget))); +#endif } /* Set up DnD. */ diff --git a/libcaja-private/caja-program-choosing.c b/libcaja-private/caja-program-choosing.c index bc9ee396..6971d2d9 100644 --- a/libcaja-private/caja-program-choosing.c +++ b/libcaja-private/caja-program-choosing.c @@ -322,7 +322,24 @@ caja_launch_application_from_command (GdkScreen *screen, } else { +#if GTK_CHECK_VERSION (3, 0, 0) + GdkAppLaunchContext *launch_context; + GAppInfo *app_info = NULL; + app_info = g_app_info_create_from_commandline (full_command, + NULL, + G_APP_INFO_CREATE_NONE, + NULL); + if (app_info != NULL) + { + launch_context = gdk_app_launch_context_new (); + gdk_app_launch_context_set_screen (launch_context, screen); + g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), NULL); + g_object_unref (launch_context); + g_object_unref (app_info); + } +#else gdk_spawn_command_line_on_screen (screen, full_command, NULL); +#endif } g_free (full_command); @@ -370,7 +387,24 @@ caja_launch_application_from_command_array (GdkScreen *screen, } else { +#if GTK_CHECK_VERSION (3, 0, 0) + GdkAppLaunchContext *launch_context; + GAppInfo *app_info = NULL; + app_info = g_app_info_create_from_commandline (full_command, + NULL, + G_APP_INFO_CREATE_NONE, + NULL); + if (app_info != NULL) + { + launch_context = gdk_app_launch_context_new (); + gdk_app_launch_context_set_screen (launch_context, screen); + g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), NULL); + g_object_unref (launch_context); + g_object_unref (app_info); + } +#else gdk_spawn_command_line_on_screen (screen, full_command, NULL); +#endif } g_free (full_command); -- cgit v1.2.1