middle click on a tab: make the tab active before closing it

Fixes:

If we are on a tab, and we make middle click on another tab,
it doesn't show the confirm close dialog if there is a foreground process
master-1.22
ZenWalker 2016-12-19 23:45:03 +01:00 committed by monsta
parent 127304f617
commit bfccb77043
1 changed files with 10 additions and 5 deletions

View File

@ -2899,22 +2899,27 @@ notebook_button_press_cb (GtkWidget *widget,
TerminalWindow *window) TerminalWindow *window)
{ {
TerminalWindowPrivate *priv = window->priv; TerminalWindowPrivate *priv = window->priv;
TerminalScreen *active_screen = priv->active_screen;
GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebook *notebook = GTK_NOTEBOOK (widget);
GtkWidget *tab; GtkWidget *tab;
GtkWidget *menu; GtkWidget *menu;
GtkAction *action; GtkAction *action;
int tab_clicked; int tab_clicked;
if ((event->type == GDK_BUTTON_PRESS && event->button == 2) if (event->type == GDK_BUTTON_PRESS && event->button == 2)
&& !(confirm_close_window_or_tab (window, active_screen)))
{ {
tab_clicked = find_tab_num_at_pos (notebook, event->x_root, event->y_root); tab_clicked = find_tab_num_at_pos (notebook, event->x_root, event->y_root);
if (tab_clicked >= 0) if (tab_clicked >= 0)
{
gtk_notebook_set_current_page (notebook, tab_clicked);
TerminalScreen *active_screen = priv->active_screen;
if (!(confirm_close_window_or_tab (window, active_screen)))
{ {
update_tab_visibility (window, -1); update_tab_visibility (window, -1);
gtk_notebook_remove_page(notebook, tab_clicked); gtk_notebook_remove_page(notebook, tab_clicked);
} }
}
} }
if (event->type != GDK_BUTTON_PRESS || if (event->type != GDK_BUTTON_PRESS ||