From 208902bfc751ce007786ba137ab80535b98bb32f Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 7 Jul 2014 01:26:05 +0200 Subject: [PATCH] Only let setting default MIME handlers if relevant --- src/browser.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/browser.c b/src/browser.c index b9540d0..68f7653 100644 --- a/src/browser.c +++ b/src/browser.c @@ -1027,7 +1027,7 @@ void browser_open_with(Browser * browser, char const * path) { GtkWidget * dialog; GtkWidget * vbox; - GtkWidget * widget; + GtkWidget * widget = NULL; GtkFileFilter * filter; char * filename = NULL; gboolean active; @@ -1060,14 +1060,18 @@ void browser_open_with(Browser * browser, char const * path) #else vbox = GTK_DIALOG(dialog)->vbox; #endif - widget = gtk_check_button_new_with_mnemonic( - _("_Set as the default handler")); - gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0); - gtk_widget_show_all(vbox); + if(vfs_mime_type(browser->mime, path, 0) != NULL) + { + widget = gtk_check_button_new_with_mnemonic( + _("_Set as the default handler")); + gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0); + gtk_widget_show_all(vbox); + } if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER( dialog)); - active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + active = (widget != NULL && gtk_toggle_button_get_active( + GTK_TOGGLE_BUTTON(widget))) ? TRUE : FALSE; gtk_widget_destroy(dialog); if(filename == NULL) return;