195 lines
5.9 KiB
Diff
195 lines
5.9 KiB
Diff
diff -Naur eog-3.14.1-orig/src/eog-application.c eog-3.14.1/src/eog-application.c
|
|
--- eog-3.14.1-orig/src/eog-application.c 2014-07-22 13:42:43.000000000 +0400
|
|
+++ eog-3.14.1/src/eog-application.c 2014-10-19 11:41:44.795200000 +0400
|
|
@@ -284,8 +284,20 @@
|
|
g_object_unref (provider);
|
|
|
|
/* Add application specific icons to search path */
|
|
+ gchar * eog_data_dir;
|
|
+#ifdef G_OS_WIN32
|
|
+{
|
|
+ gchar *dir;
|
|
+
|
|
+ dir = g_win32_get_package_installation_directory_of_module (NULL);
|
|
+ eog_data_dir = g_build_filename (dir, "share", "eog", "icons", NULL);
|
|
+ g_free (dir);
|
|
+}
|
|
+#else
|
|
+ eog_data_dir = g_strdup (EOG_DATA_DIR G_DIR_SEPARATOR_S "icons");
|
|
+#endif
|
|
gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
|
|
- EOG_DATA_DIR G_DIR_SEPARATOR_S "icons");
|
|
+ eog_data_dir);
|
|
|
|
gtk_window_set_default_icon_name ("eog");
|
|
g_set_application_name (_("Image Viewer"));
|
|
@@ -307,6 +319,7 @@
|
|
G_CALLBACK (on_extension_removed), app);
|
|
|
|
peas_extension_set_call (app->priv->extensions, "activate");
|
|
+ g_free(eog_data_dir);
|
|
}
|
|
|
|
static void
|
|
@@ -442,8 +455,20 @@
|
|
|
|
priv->ui_settings = g_settings_new (EOG_CONF_UI);
|
|
|
|
+ gchar * eog_toolbar_file;
|
|
+#ifdef G_OS_WIN32
|
|
+{
|
|
+ gchar *dir;
|
|
+
|
|
+ dir = g_win32_get_package_installation_directory_of_module (NULL);
|
|
+ eog_toolbar_file = g_build_filename (dir, "share", "eog", "eog-toolbar.xml", NULL);
|
|
+ g_free (dir);
|
|
+}
|
|
+#else
|
|
+ eog_toolbar_file = g_strdup (EOG_DATA_DIR G_DIR_SEPARATOR_S "eog-toolbar.xml");
|
|
+#endif
|
|
egg_toolbars_model_load_names (priv->toolbars_model,
|
|
- EOG_DATA_DIR "/eog-toolbar.xml");
|
|
+ eog_toolbar_file);
|
|
|
|
if (G_LIKELY (dot_dir != NULL))
|
|
priv->toolbars_file = g_build_filename
|
|
@@ -453,13 +478,14 @@
|
|
priv->toolbars_file)) {
|
|
|
|
egg_toolbars_model_load_toolbars (priv->toolbars_model,
|
|
- EOG_DATA_DIR "/eog-toolbar.xml");
|
|
+ eog_toolbar_file);
|
|
}
|
|
|
|
egg_toolbars_model_set_flags (priv->toolbars_model, 0,
|
|
EGG_TB_MODEL_NOT_REMOVABLE);
|
|
|
|
eog_application_load_accelerators ();
|
|
+ g_free(eog_toolbar_file);
|
|
}
|
|
|
|
/**
|
|
@@ -780,12 +806,26 @@
|
|
|
|
priv->toolbars_model = egg_toolbars_model_new ();
|
|
|
|
+ gchar * eog_toolbar_file;
|
|
+#ifdef G_OS_WIN32
|
|
+{
|
|
+ gchar *dir;
|
|
+
|
|
+ dir = g_win32_get_package_installation_directory_of_module (NULL);
|
|
+ eog_toolbar_file = g_build_filename (dir, "share", "eog", "eog-toolbar.xml", NULL);
|
|
+ g_free (dir);
|
|
+}
|
|
+#else
|
|
+ eog_toolbar_file = g_strdup (EOG_DATA_DIR G_DIR_SEPARATOR_S "eog-toolbar.xml");
|
|
+#endif
|
|
egg_toolbars_model_load_names (priv->toolbars_model,
|
|
- EOG_DATA_DIR "/eog-toolbar.xml");
|
|
+ eog_toolbar_file);
|
|
egg_toolbars_model_load_toolbars (priv->toolbars_model,
|
|
- EOG_DATA_DIR "/eog-toolbar.xml");
|
|
+ eog_toolbar_file);
|
|
egg_toolbars_model_set_flags (priv->toolbars_model, 0,
|
|
EGG_TB_MODEL_NOT_REMOVABLE);
|
|
+
|
|
+ g_free(eog_toolbar_file);
|
|
}
|
|
|
|
static void
|
|
diff -Naur eog-3.14.1-orig/src/eog-plugin-engine.c eog-3.14.1/src/eog-plugin-engine.c
|
|
--- eog-3.14.1-orig/src/eog-plugin-engine.c 2014-01-14 00:17:51.000000000 +0400
|
|
+++ eog-3.14.1/src/eog-plugin-engine.c 2014-10-19 11:49:44.495200000 +0400
|
|
@@ -85,7 +85,19 @@
|
|
const gchar * const * system_data_dirs;
|
|
GError *error = NULL;
|
|
|
|
- private_path = g_build_filename (LIBDIR, "eog",
|
|
+ gchar * eog_lib_dir;
|
|
+#ifdef G_OS_WIN32
|
|
+{
|
|
+ gchar *dir;
|
|
+
|
|
+ dir = g_win32_get_package_installation_directory_of_module (NULL);
|
|
+ eog_lib_dir = g_build_filename (dir, "lib", NULL);
|
|
+ g_free (dir);
|
|
+}
|
|
+#else
|
|
+ eog_lib_dir = g_strdup (LIBDIR);
|
|
+#endif
|
|
+ private_path = g_build_filename (eog_lib_dir,
|
|
"girepository-1.0", NULL);
|
|
|
|
/* This should be moved to libpeas */
|
|
@@ -117,6 +129,7 @@
|
|
}
|
|
|
|
g_free (private_path);
|
|
+ g_free (eog_lib_dir);
|
|
|
|
engine = EOG_PLUGIN_ENGINE (g_object_new (EOG_TYPE_PLUGIN_ENGINE,
|
|
NULL));
|
|
@@ -150,10 +163,24 @@
|
|
}
|
|
|
|
/* Find system-wide plugins */
|
|
- eog_debug_message (DEBUG_PLUGINS, "Adding system plugin dir ("
|
|
- EOG_PLUGIN_DIR ")to plugins search path");
|
|
+ gchar * eog_plugin_dir;
|
|
+ gchar * eog_data_plugin_dir;
|
|
+#ifdef G_OS_WIN32
|
|
+{
|
|
+ gchar *dir;
|
|
+
|
|
+ dir = g_win32_get_package_installation_directory_of_module (NULL);
|
|
+ eog_plugin_dir = g_build_filename (dir, "lib", "eog", "plugins", NULL);
|
|
+ eog_data_plugin_dir = g_build_filename (dir, "share", "eog", "plugins", NULL);
|
|
+ g_free (dir);
|
|
+}
|
|
+#else
|
|
+ eog_plugin_dir = g_strdup (EOG_PLUGIN_DIR);
|
|
+ eog_data_plugin_dir = g_strdup (EOG_PLUGIN_DATA_DIR);
|
|
+#endif
|
|
+ eog_debug_message (DEBUG_PLUGINS, "Adding system plugin dir (%s) to plugins search path", eog_plugin_dir);
|
|
peas_engine_add_search_path (PEAS_ENGINE (engine),
|
|
- EOG_PLUGIN_DIR, EOG_PLUGIN_DATA_DIR);
|
|
+ eog_plugin_dir, eog_data_plugin_dir);
|
|
|
|
g_settings_bind (engine->priv->plugins_settings,
|
|
EOG_CONF_PLUGINS_ACTIVE_PLUGINS,
|
|
@@ -162,6 +190,8 @@
|
|
G_SETTINGS_BIND_DEFAULT);
|
|
|
|
g_free (user_plugin_path);
|
|
+ g_free (eog_plugin_dir);
|
|
+ g_free (eog_data_plugin_dir);
|
|
|
|
return engine;
|
|
}
|
|
diff -Naur eog-3.14.1-orig/src/eog-thumbnail.c eog-3.14.1/src/eog-thumbnail.c
|
|
--- eog-3.14.1-orig/src/eog-thumbnail.c 2014-03-22 23:09:38.000000000 +0400
|
|
+++ eog-3.14.1/src/eog-thumbnail.c 2014-10-19 12:16:07.387600000 +0400
|
|
@@ -533,7 +533,20 @@
|
|
void
|
|
eog_thumbnail_init (void)
|
|
{
|
|
+ gchar * eog_data_dir;
|
|
+#ifdef G_OS_WIN32
|
|
+{
|
|
+ gchar *dir;
|
|
+
|
|
+ dir = g_win32_get_package_installation_directory_of_module (NULL);
|
|
+ eog_data_dir = g_build_filename (dir, "share", "eog", "/pixmaps/thumbnail-frame.png", NULL);
|
|
+ g_free (dir);
|
|
+}
|
|
+#else
|
|
+ eog_data_dir = g_strdup (EOG_DATA_DIR "/pixmaps/thumbnail-frame.png");
|
|
+#endif
|
|
if (frame == NULL) {
|
|
- frame = gdk_pixbuf_new_from_file (EOG_DATA_DIR "/pixmaps/thumbnail-frame.png", NULL);
|
|
+ frame = gdk_pixbuf_new_from_file (eog_data_dir, NULL);
|
|
}
|
|
+ g_free (eog_data_dir);
|
|
}
|