Only access the parent window when available
This commit is contained in:
parent
ac7d0634af
commit
4ac79faf03
|
@ -723,7 +723,8 @@ int browser_error(Browser * browser, char const * message, int ret)
|
||||||
gtk_label_set_text(GTK_LABEL(browser->infobar_label), message);
|
gtk_label_set_text(GTK_LABEL(browser->infobar_label), message);
|
||||||
gtk_widget_show(browser->infobar);
|
gtk_widget_show(browser->infobar);
|
||||||
#else
|
#else
|
||||||
dialog = gtk_message_dialog_new(GTK_WINDOW(browser->window),
|
dialog = gtk_message_dialog_new((browser->window == NULL)
|
||||||
|
? GTK_WINDOW(browser->window) : NULL,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
|
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
|
||||||
GTK_BUTTONS_CLOSE,
|
GTK_BUTTONS_CLOSE,
|
||||||
# if GTK_CHECK_VERSION(2, 6, 0)
|
# if GTK_CHECK_VERSION(2, 6, 0)
|
||||||
|
@ -849,7 +850,9 @@ void browser_copy(Browser * browser)
|
||||||
GtkWidget * entry;
|
GtkWidget * entry;
|
||||||
|
|
||||||
entry = gtk_bin_get_child(GTK_BIN(browser->tb_path));
|
entry = gtk_bin_get_child(GTK_BIN(browser->tb_path));
|
||||||
if(gtk_window_get_focus(GTK_WINDOW(browser->window)) == entry)
|
if(browser->window != NULL
|
||||||
|
&& gtk_window_get_focus(GTK_WINDOW(browser->window))
|
||||||
|
== entry)
|
||||||
{
|
{
|
||||||
gtk_editable_copy_clipboard(GTK_EDITABLE(entry));
|
gtk_editable_copy_clipboard(GTK_EDITABLE(entry));
|
||||||
return;
|
return;
|
||||||
|
@ -867,7 +870,9 @@ void browser_cut(Browser * browser)
|
||||||
GtkWidget * entry;
|
GtkWidget * entry;
|
||||||
|
|
||||||
entry = gtk_bin_get_child(GTK_BIN(browser->tb_path));
|
entry = gtk_bin_get_child(GTK_BIN(browser->tb_path));
|
||||||
if(gtk_window_get_focus(GTK_WINDOW(browser->window)) == entry)
|
if(browser->window != NULL
|
||||||
|
&& gtk_window_get_focus(GTK_WINDOW(browser->window))
|
||||||
|
== entry)
|
||||||
{
|
{
|
||||||
gtk_editable_cut_clipboard(GTK_EDITABLE(entry));
|
gtk_editable_cut_clipboard(GTK_EDITABLE(entry));
|
||||||
return;
|
return;
|
||||||
|
@ -885,7 +890,9 @@ void browser_paste(Browser * browser)
|
||||||
GtkWidget * entry;
|
GtkWidget * entry;
|
||||||
|
|
||||||
entry = gtk_bin_get_child(GTK_BIN(browser->tb_path));
|
entry = gtk_bin_get_child(GTK_BIN(browser->tb_path));
|
||||||
if(gtk_window_get_focus(GTK_WINDOW(browser->window)) == entry)
|
if(browser->window != NULL
|
||||||
|
&& gtk_window_get_focus(GTK_WINDOW(browser->window))
|
||||||
|
== entry)
|
||||||
{
|
{
|
||||||
gtk_editable_paste_clipboard(GTK_EDITABLE(entry));
|
gtk_editable_paste_clipboard(GTK_EDITABLE(entry));
|
||||||
return;
|
return;
|
||||||
|
@ -1060,7 +1067,8 @@ void browser_open(Browser * browser, char const * path)
|
||||||
if(path == NULL)
|
if(path == NULL)
|
||||||
{
|
{
|
||||||
dialog = gtk_file_chooser_dialog_new(_("Open file..."),
|
dialog = gtk_file_chooser_dialog_new(_("Open file..."),
|
||||||
GTK_WINDOW(browser->window),
|
(browser->window != NULL)
|
||||||
|
? GTK_WINDOW(browser->window) : NULL,
|
||||||
GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL,
|
GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL,
|
||||||
GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN,
|
GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN,
|
||||||
GTK_RESPONSE_ACCEPT, NULL);
|
GTK_RESPONSE_ACCEPT, NULL);
|
||||||
|
@ -1089,7 +1097,8 @@ void browser_open_with(Browser * browser, char const * path)
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
dialog = gtk_file_chooser_dialog_new(_("Open with..."),
|
dialog = gtk_file_chooser_dialog_new(_("Open with..."),
|
||||||
GTK_WINDOW(browser->window),
|
(browser->window != NULL)
|
||||||
|
? GTK_WINDOW(browser->window) : NULL,
|
||||||
GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL,
|
GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL,
|
||||||
GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN,
|
GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN,
|
||||||
GTK_RESPONSE_ACCEPT, NULL);
|
GTK_RESPONSE_ACCEPT, NULL);
|
||||||
|
@ -1767,7 +1776,9 @@ void browser_selection_delete(Browser * browser)
|
||||||
return;
|
return;
|
||||||
if(browser->prefs.confirm_before_delete == TRUE)
|
if(browser->prefs.confirm_before_delete == TRUE)
|
||||||
{
|
{
|
||||||
dialog = gtk_message_dialog_new(GTK_WINDOW(browser->window),
|
dialog = gtk_message_dialog_new(
|
||||||
|
(browser->window != NULL)
|
||||||
|
? GTK_WINDOW(browser->window) : NULL,
|
||||||
GTK_DIALOG_MODAL
|
GTK_DIALOG_MODAL
|
||||||
| GTK_DIALOG_DESTROY_WITH_PARENT,
|
| GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO,
|
GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO,
|
||||||
|
@ -1839,8 +1850,9 @@ void browser_show_about(Browser * browser, gboolean show)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
browser->ab_window = desktop_about_dialog_new();
|
browser->ab_window = desktop_about_dialog_new();
|
||||||
gtk_window_set_transient_for(GTK_WINDOW(browser->ab_window), GTK_WINDOW(
|
if(browser->window != NULL)
|
||||||
browser->window));
|
gtk_window_set_transient_for(GTK_WINDOW(browser->ab_window),
|
||||||
|
GTK_WINDOW(browser->window));
|
||||||
desktop_about_dialog_set_authors(browser->ab_window, _authors);
|
desktop_about_dialog_set_authors(browser->ab_window, _authors);
|
||||||
desktop_about_dialog_set_comments(browser->ab_window,
|
desktop_about_dialog_set_comments(browser->ab_window,
|
||||||
_("File manager for the DeforaOS desktop"));
|
_("File manager for the DeforaOS desktop"));
|
||||||
|
@ -1899,7 +1911,8 @@ void browser_show_preferences(Browser * browser, gboolean show)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
browser->pr_window = gtk_dialog_new_with_buttons(_("Preferences"),
|
browser->pr_window = gtk_dialog_new_with_buttons(_("Preferences"),
|
||||||
GTK_WINDOW(browser->window),
|
(browser->window != NULL)
|
||||||
|
? GTK_WINDOW(browser->window) : NULL,
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
GTK_STOCK_APPLY, GTK_RESPONSE_APPLY,
|
GTK_STOCK_APPLY, GTK_RESPONSE_APPLY,
|
||||||
|
@ -3378,7 +3391,8 @@ static void _view_on_button_press_icon_run(gpointer data)
|
||||||
GError * error = NULL;
|
GError * error = NULL;
|
||||||
char * argv[2];
|
char * argv[2];
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new(GTK_WINDOW(cb->browser->window),
|
dialog = gtk_message_dialog_new((cb->browser->window != NULL)
|
||||||
|
? GTK_WINDOW(cb->browser->window) : NULL,
|
||||||
GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,
|
GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,
|
||||||
GTK_BUTTONS_YES_NO,
|
GTK_BUTTONS_YES_NO,
|
||||||
#if GTK_CHECK_VERSION(2, 6, 0)
|
#if GTK_CHECK_VERSION(2, 6, 0)
|
||||||
|
@ -3759,6 +3773,8 @@ static void _refresh_title(Browser * browser)
|
||||||
GError * error = NULL;
|
GError * error = NULL;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
|
||||||
|
if(browser->window == NULL)
|
||||||
|
return;
|
||||||
title = browser_get_location(browser);
|
title = browser_get_location(browser);
|
||||||
if((p = g_filename_to_utf8(title, -1, NULL, NULL, &error)) == NULL)
|
if((p = g_filename_to_utf8(title, -1, NULL, NULL, &error)) == NULL)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user