Package: sakura
Version: 3.0.3-1
Severity: normal
Tags: patch

Sakura occasionally closes the wrong notebook page when a term process exits.
Indeed, Sakura removes the current page instead of the page used by the
terminal.

This can easily be reproduced by opening several pages, typing “sleep 5 &&
exit” in one, and switching to another page.



-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (105, 'experimental')
Architecture: armhf (armv7l)

Kernel: Linux 3.0.0-2+armhf.1-mx5
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages sakura depends on:
ii  libatk1.0-0         2.4.0-2
ii  libc6               2.13-27
ii  libcairo-gobject2   1.12.0-2
ii  libcairo2           1.12.0-2
ii  libfontconfig1      2.8.0-3.1
ii  libfreetype6        2.4.9-1
ii  libgdk-pixbuf2.0-0  2.26.0-2
ii  libglib2.0-0        2.32.0-4
ii  libgtk-3-0          3.2.3-1
ii  libpango1.0-0       1.30.0-1
ii  libvte-2.90-9       1:0.32.0-2
ii  libx11-6            2:1.4.4-4+b1

sakura recommends no packages.

sakura suggests no packages.

-- no debconf information
Description: Close the right page when a child process exits
 When a child process exits, sakura closes the current notebook page,
 which can be different from the page in which the child process was
 actually running.
Author: Thibaut Girka <t...@sitedethib.com>
Forwarded: no

--- sakura-3.0.3.orig/src/sakura.c
+++ sakura-3.0.3/src/sakura.c
@@ -604,7 +604,8 @@ sakura_child_exited (GtkWidget *widget,
 	gint status, page, npages;
 	struct terminal *term;
 
-	page = gtk_notebook_get_current_page(GTK_NOTEBOOK(sakura.notebook));
+	page = gtk_notebook_page_num(GTK_NOTEBOOK(sakura.notebook),
+				gtk_widget_get_parent(widget));
 	npages = gtk_notebook_get_n_pages(GTK_NOTEBOOK(sakura.notebook));
 	term = sakura_get_page_term(sakura, page);
 

Reply via email to