X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window-title.c;h=3a7d908dafeb99fec468421fc2e310eaa6cf1f4d;hb=b4400b84fbb899a1984c8e145b91a09de3a35516;hp=1dcd5312c8b06535b4e49ddbe0ef3c42ad01707e;hpb=eb5323824d3ea421f1bdfa803a9ce968894d8d81;p=evince.git diff --git a/shell/ev-window-title.c b/shell/ev-window-title.c index 1dcd5312..3a7d908d 100644 --- a/shell/ev-window-title.c +++ b/shell/ev-window-title.c @@ -39,7 +39,10 @@ struct _EvWindowTitle static const BadExtensionEntry bad_extensions[] = { { EV_BACKEND_PS, ".dvi" }, - { EV_BACKEND_PDF, ".doc" } + { EV_BACKEND_PDF, ".doc" }, + { EV_BACKEND_PDF, ".dvi" }, + { EV_BACKEND_PDF, ".indd" }, + { EV_BACKEND_PDF, ".rtf" } }; EvWindowTitle * @@ -98,27 +101,29 @@ ev_window_title_update (EvWindowTitle *window_title) EvPageCache *page_cache; if (window_title->document != NULL) { - const char *doc_title; + char *doc_title; page_cache = ev_page_cache_get (window_title->document); g_return_if_fail (page_cache != NULL); - doc_title = ev_page_cache_get_title (page_cache); + doc_title = (char *)ev_page_cache_get_title (page_cache); /* Make sure we get a valid title back */ - if (doc_title && doc_title[0] != '\000' && - g_utf8_validate (doc_title, -1, NULL)) { - title = g_strdup (doc_title); + if (doc_title != NULL) { + doc_title = g_strstrip (doc_title); + + if (doc_title[0] != '\0' && + g_utf8_validate (doc_title, -1, NULL)) { + title = g_strdup (doc_title); + } } } - if (title) { + if (title && window_title->uri) { ev_window_title_sanitize_extension (window_title, &title); - } else { - if (window_title->uri) { - title = get_filename_from_uri (window_title->uri); - } else { - title = g_strdup (_("Document Viewer")); - } + } else if (window_title->uri) { + title = get_filename_from_uri (window_title->uri); + } else if (!title) { + title = g_strdup (_("Document Viewer")); } for (p = title; *p; ++p) { @@ -136,6 +141,8 @@ ev_window_title_update (EvWindowTitle *window_title) g_free (password_title); break; } + + g_free (title); } void