From 076f52594df5e68bf9806b4b69e915350b3c9319 Mon Sep 17 00:00:00 2001 From: raveit65 Date: Mon, 21 Apr 2014 12:15:04 +0200 Subject: create_thumbnail_frame should return NULL when source_pixbuf is NULL and width and height are not positive. fix https://bugzilla.redhat.com/show_bug.cgi?id=1082143 taken from https://git.gnome.org/browse/evince/commit/?id=3d8180a605e8c98172e9e0e739e22b7f50ed7bad --- libdocument/ev-document-misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c index d597127f..6099b7fa 100644 --- a/libdocument/ev-document-misc.c +++ b/libdocument/ev-document-misc.c @@ -56,7 +56,7 @@ create_thumbnail_frame (int width, } /* make sure no one is passing us garbage */ - g_assert (width_r >= 0 && height_r >= 0); + g_return_val_if_fail (width_r >= 0 && height_r >= 0, NULL); retval = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, -- cgit v1.2.1 From bc94b296158e036be054c5ed061af83c893f1ea9 Mon Sep 17 00:00:00 2001 From: raveit65 Date: Mon, 21 Apr 2014 12:18:15 +0200 Subject: ps: Make sure page labels are valid utf-8 strings taken from https://git.gnome.org/browse/evince/commit/?id=150d0cfa2d8f64823f2782d207d717fa3ac340a0 --- backend/ps/ev-spectre.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/backend/ps/ev-spectre.c b/backend/ps/ev-spectre.c index d28325ba..b0489b78 100644 --- a/backend/ps/ev-spectre.c +++ b/backend/ps/ev-spectre.c @@ -224,7 +224,21 @@ static char * ps_document_get_page_label (EvDocument *document, EvPage *page) { - return g_strdup (spectre_page_get_label ((SpectrePage *)page->backend_page)); + const gchar *label = spectre_page_get_label ((SpectrePage *)page->backend_page); + gchar *utf8; + + if (!label) + return NULL; + + if (g_utf8_validate (label, -1, NULL)) + return g_strdup (label); + + /* Try with latin1 and ASCII encondings */ + utf8 = g_convert (label, -1, "utf-8", "latin1", NULL, NULL, NULL); + if (!utf8) + utf8 = g_convert (label, -1, "utf-8", "ASCII", NULL, NULL, NULL); + + return utf8; } static EvDocumentInfo * -- cgit v1.2.1 From 1bdae54253b68f2042f1d7f43ac0f36654c9b432 Mon Sep 17 00:00:00 2001 From: Stefano Karapetsas Date: Sat, 28 Jun 2014 17:15:56 +0200 Subject: Dont require org.mate.lockdown GSettings schema Closes https://github.com/mate-desktop/atril/issues/75 --- shell/ev-window.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/shell/ev-window.c b/shell/ev-window.c index 5b046ae7..d3a8181d 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -42,6 +42,7 @@ #include #include +#include #include "egg-editable-toolbar.h" #include "egg-toolbar-editor.h" @@ -424,12 +425,12 @@ ev_window_setup_action_sensitivity (EvWindow *ev_window) if (has_document && !ev_print_operation_exists_for_document(document)) ok_to_print = FALSE; - if (has_document && + if (has_document && ev_window->priv->lockdown_settings && g_settings_get_boolean (ev_window->priv->lockdown_settings, MATE_LOCKDOWN_SAVE)) { ok_to_copy = FALSE; } - if (has_document && + if (has_document && ev_window->priv->lockdown_settings && g_settings_get_boolean (ev_window->priv->lockdown_settings, MATE_LOCKDOWN_PRINT)) { ok_to_print = FALSE; } @@ -1377,12 +1378,14 @@ ev_window_setup_document (EvWindow *ev_window) ev_window); } - if (!ev_window->priv->lockdown_settings) - ev_window->priv->lockdown_settings = g_settings_new (MATE_LOCKDOWN_SCHEMA); - g_signal_connect (ev_window->priv->lockdown_settings, - "changed", - G_CALLBACK (lockdown_changed), - ev_window); + if (mate_gsettings_schema_exists (MATE_LOCKDOWN_SCHEMA)) { + if (!ev_window->priv->lockdown_settings) + ev_window->priv->lockdown_settings = g_settings_new (MATE_LOCKDOWN_SCHEMA); + g_signal_connect (ev_window->priv->lockdown_settings, + "changed", + G_CALLBACK (lockdown_changed), + ev_window); + } ev_window_setup_action_sensitivity (ev_window); @@ -3330,8 +3333,11 @@ ev_window_print_range (EvWindow *ev_window, ev_print_operation_set_print_settings (op, print_settings); ev_print_operation_set_default_page_setup (op, print_page_setup); - ev_print_operation_set_embed_page_setup (op, !g_settings_get_boolean (ev_window->priv->lockdown_settings, - MATE_LOCKDOWN_PRINT_SETUP)); + if (ev_window->priv->lockdown_settings) + ev_print_operation_set_embed_page_setup (op, !g_settings_get_boolean (ev_window->priv->lockdown_settings, + MATE_LOCKDOWN_PRINT_SETUP)); + else + ev_print_operation_set_embed_page_setup (op, TRUE); g_object_unref (print_settings); g_object_unref (print_page_setup); -- cgit v1.2.1