summaryrefslogtreecommitdiff
path: root/src/caja-application.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/caja-application.c')
-rw-r--r--src/caja-application.c33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/caja-application.c b/src/caja-application.c
index 8f920108..b7d8ff81 100644
--- a/src/caja-application.c
+++ b/src/caja-application.c
@@ -32,6 +32,7 @@
#include <unistd.h>
#include <fcntl.h>
+#include <libxml/parser.h>
#include <libxml/xmlsave.h>
#include <glib/gstdio.h>
#include <glib/gi18n.h>
@@ -283,6 +284,7 @@ open_tabs (CajaApplication *application,
CajaApplication *self = CAJA_APPLICATION (application);
CajaWindow *window;
gchar *uri = NULL;
+ guint i;
/* monitor the preference to use browser or spatial windows */
/* connect before trying to read or this preference won't be read by root or after change */
@@ -307,7 +309,7 @@ open_tabs (CajaApplication *application,
g_debug ("Opening new tab at uri %s\n", uri);
caja_window_go_to (window, locations[0]);
g_free (uri);
- for (int i = 1; i< n_files;i++) {
+ for (i = 1; i < n_files; i++) {
/* open tabs in reverse order because each
* tab is opened before the previous one */
guint tab = n_files-i;
@@ -640,25 +642,34 @@ get_desktop_manager_selection (GdkDisplay *display)
g_snprintf (selection_name, sizeof (selection_name), "_NET_DESKTOP_MANAGER_S0");
selection_atom = gdk_atom_intern (selection_name, FALSE);
-
- selection_owner = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display),
+ if (GDK_IS_X11_DISPLAY (display))
+ {
+ selection_owner = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display),
gdk_x11_atom_to_xatom_for_display (display,
selection_atom));
- if (selection_owner != None)
- {
+ if (selection_owner != None)
+ {
return NULL;
+ }
}
-
selection_widget = gtk_invisible_new_for_screen (gdk_display_get_default_screen (display));
/* We need this for gdk_x11_get_server_time() */
gtk_widget_add_events (selection_widget, GDK_PROPERTY_CHANGE_MASK);
- if (gtk_selection_owner_set_for_display (display,
+ if (GDK_IS_X11_DISPLAY (display))
+ {
+ if (gtk_selection_owner_set_for_display (display,
selection_widget,
selection_atom,
gdk_x11_get_server_time (gtk_widget_get_window (selection_widget))))
+ {
+ g_signal_connect (selection_widget, "selection_get",
+ G_CALLBACK (selection_get_cb), NULL);
+ return selection_widget;
+ }
+ }
+ else
{
-
g_signal_connect (selection_widget, "selection_get",
G_CALLBACK (selection_get_cb), NULL);
return selection_widget;
@@ -1944,8 +1955,7 @@ caja_application_local_command_line (GApplication *application,
{ "select", 's', 0, G_OPTION_ARG_NONE, &select_uris,
N_("Select specified URI in parent folder."), NULL },
{ G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &remaining, NULL, N_("[URI...]") },
-
- { NULL }
+ { NULL, '\0', 0, G_OPTION_ARG_NONE, NULL, NULL, NULL }
};
GOptionContext *context;
GError *error = NULL;
@@ -2237,8 +2247,6 @@ static void
caja_application_startup (GApplication *app)
{
CajaApplication *self = CAJA_APPLICATION (app);
- gboolean exit_with_last_window;
- exit_with_last_window = TRUE;
/* chain up to the GTK+ implementation early, so gtk_init()
* is called for us.
@@ -2328,6 +2336,7 @@ caja_application_startup (GApplication *app)
if (running_in_mate () && !running_as_root())
{
GApplication *instance;
+ gboolean exit_with_last_window;
exit_with_last_window = g_settings_get_boolean (caja_preferences,
CAJA_PREFERENCES_EXIT_WITH_LAST_WINDOW);