diff options
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/shell.c | 6 | ||||
| -rw-r--r-- | shell/syncmanager.c | 2 | 
2 files changed, 8 insertions, 0 deletions
| diff --git a/shell/shell.c b/shell/shell.c index 06e2f936..338e68f3 100644 --- a/shell/shell.c +++ b/shell/shell.c @@ -737,6 +737,11 @@ gboolean hardinfo_link(const gchar *uri) {      return FALSE; /* didn't handle it */  } +void shell_set_transient_dialog(GtkWindow *dialog) +{ +    shell->transient_dialog = dialog ? dialog : shell->window; +} +  void shell_init(GSList * modules)  {      if (shell) { @@ -761,6 +766,7 @@ void shell_init(GSList * modules)      shell->info_tree = info_tree_new();      shell->loadgraph = load_graph_new(75);      shell->detail_view = detail_view_new(); +    shell->transient_dialog = shell->window;      update_tbl = g_hash_table_new_full(g_str_hash, g_str_equal,                                         g_free, destroy_update_tbl_value); diff --git a/shell/syncmanager.c b/shell/syncmanager.c index e2dabd7a..afe1930a 100644 --- a/shell/syncmanager.c +++ b/shell/syncmanager.c @@ -135,9 +135,11 @@ void sync_manager_show(GtkWidget *parent)      if (gtk_dialog_run(GTK_DIALOG(sd->dialog)) == GTK_RESPONSE_ACCEPT) {          shell_view_set_enabled(FALSE);          shell_status_set_enabled(TRUE); +        shell_set_transient_dialog(sd->dialog);          sync_dialog_start_sync(sd); +        shell_set_transient_dialog(NULL);          shell_status_set_enabled(FALSE);          shell_view_set_enabled(TRUE);      } | 
