Your message dated Mon, 14 Jan 2013 22:51:50 +0000
with message-id <[email protected]>
and subject line Re: Bug#694614: tpu: cairo-dock/3.0.0-3 (pre-approval)
has caused the Debian Bug report #694614,
regarding tpu: cairo-dock/3.0.0-3 (pre-approval)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
694614: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694614
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
User: [email protected]
Usertags: tpu
Severity: normal

Hi,

I'd like to get your approval about the upload of cairo-dock 3.0.0-3 to
testing-proposed-update in order to fix 1 RC bug and enable hardening build.

The changes from 3.0.0-2 (in wheezy) to 3.0.3-3 as follows:

  - RC bug number: #676831
    - This bug is already fix newer cairo-dock ( >= 3.1.1, in unstable).
    - We created patches by cherry-picked from upstream Git repository for
      cairo-dock (3.0.0-2, in wheezy).

  - Enable hardening build
    - Update debhelper >= 9, Add dpkg-dev (>= 1.16.1~)

I attached debdiff output.

Best Wishes,
Youhei

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'testing'), (95, 'unstable'), 
(90, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

---
Youhei SASAKI <[email protected]>
              <[email protected]>
GPG fingerprint:
  4096/RSA: 66A4 EA70 4FE2 4055 8D6A C2E6 9394 F354 891D 7E07
diff -Nru cairo-dock-3.0.0/debian/changelog cairo-dock-3.0.0/debian/changelog
--- cairo-dock-3.0.0/debian/changelog   2012-05-20 21:06:28.000000000 +0900
+++ cairo-dock-3.0.0/debian/changelog   2012-11-27 12:15:55.000000000 +0900
@@ -1,3 +1,13 @@
+cairo-dock (3.0.0-3) unstable; urgency=low
+
+  * Update debhelper to 9.
+  * Add dpkg-dev (>= 1.16.1~) to Build-Depends.
+  * Enable hardening.
+  * Fix syntax error in copyright file.
+  * Fix segfault when using log out applet. (Closes: #676841)
+
+ -- Nobuhiro Iwamatsu <[email protected]>  Tue, 31 Jul 2012 12:46:41 +0900
+
 cairo-dock (3.0.0-2) unstable; urgency=low
 
   * Set Build-Depends libgtk-3-dev instead of libgtk2.0-dev.
diff -Nru cairo-dock-3.0.0/debian/compat cairo-dock-3.0.0/debian/compat
--- cairo-dock-3.0.0/debian/compat      2011-02-28 09:44:20.000000000 +0900
+++ cairo-dock-3.0.0/debian/compat      2012-11-27 12:15:55.000000000 +0900
@@ -1 +1 @@
-7
+9
diff -Nru cairo-dock-3.0.0/debian/control cairo-dock-3.0.0/debian/control
--- cairo-dock-3.0.0/debian/control     2012-05-20 21:03:28.000000000 +0900
+++ cairo-dock-3.0.0/debian/control     2012-11-27 12:15:55.000000000 +0900
@@ -5,7 +5,7 @@
 DM-Upload-Allowed: yes
 Uploaders: Nobuhiro Iwamatsu <[email protected]>,
  Youhei SASAKI <[email protected]>
-Build-Depends: cdbs, debhelper (>= 7), autotools-dev, intltool, pkg-config,
+Build-Depends: cdbs, debhelper (>= 9), dpkg-dev (>= 1.16.1~), autotools-dev, 
intltool, pkg-config,
                libcairo-dev, libdbus-1-dev, librsvg2-dev, libxml2-dev,
                libxrender-dev, libxtst-dev, libgtkglext1-dev, 
libcurl4-gnutls-dev,
                libdbus-glib-1-dev, libgtk-3-dev, quilt, cmake (>= 2.8.0)
diff -Nru cairo-dock-3.0.0/debian/copyright cairo-dock-3.0.0/debian/copyright
--- cairo-dock-3.0.0/debian/copyright   2011-10-26 13:05:18.000000000 +0900
+++ cairo-dock-3.0.0/debian/copyright   2012-11-27 12:15:55.000000000 +0900
@@ -37,12 +37,12 @@
 
 Files: po/*
 Copyright: 2007, 2008 Cairo-Dock project
-Copyright: 2009, 2010 Rosetta Contributors and Canonical Ltd
+           2009, 2010 Rosetta Contributors and Canonical Ltd
 License: GPL-3+
 
 Files: debian/*
 Copyright: 2009, 2010, 2011 Nobuhiro Iwamatsu <[email protected]>
-Copyright: 2009, 2010, 2011 Youhei SASAKI <[email protected]>
+           2009, 2010, 2011 Youhei SASAKI <[email protected]>
 License: GPL-3+
 
 License: GPL-3+
diff -Nru 
cairo-dock-3.0.0/debian/patches/0001-Main-GUI-fixed-a-crash-when-hovering-group-buttons-t.patch
 
cairo-dock-3.0.0/debian/patches/0001-Main-GUI-fixed-a-crash-when-hovering-group-buttons-t.patch
--- 
cairo-dock-3.0.0/debian/patches/0001-Main-GUI-fixed-a-crash-when-hovering-group-buttons-t.patch
     1970-01-01 09:00:00.000000000 +0900
+++ 
cairo-dock-3.0.0/debian/patches/0001-Main-GUI-fixed-a-crash-when-hovering-group-buttons-t.patch
     2012-11-27 12:15:55.000000000 +0900
@@ -0,0 +1,47 @@
+Description: Main GUI: fixed a crash when hovering group buttons too quickly 
(the dialog was not correctly destroyed)
+Forwarded: not-needed
+rigin: upstream, 
http://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-core/cairo-dock/revision/1100
+Bug-Debian: http://bugs.debian.org/676841
+
+---
+ src/cairo-dock-gui-main.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/cairo-dock-gui-main.c b/src/cairo-dock-gui-main.c
+index 1983329..52ba76a 100644
+--- a/src/cairo-dock-gui-main.c
++++ b/src/cairo-dock-gui-main.c
+@@ -28,6 +28,7 @@
+ #include <gdk/gdkx.h>
+ 
+ #include "config.h"
++#include "cairo-dock-notifications.h"
+ #include "cairo-dock-module-factory.h"
+ #include "cairo-dock-icon-facility.h"
+ #include "cairo-dock-log.h"
+@@ -888,10 +889,12 @@ static gboolean _show_group_dialog 
(CairoDockGroupDescription *pGroupDescription
+       attr.cText = dgettext (pGroupDescription->cGettextDomain, cDescription 
!= NULL ? cDescription : pGroupDescription->cDescription);
+       attr.cImageFilePath = pGroupDescription->cIcon;
+       attr.bNoInput = TRUE;
+-      attr.pFreeDataFunc = _on_group_dialog_destroyed;
+       myDialogsParam.dialogTextDescription.bUseMarkup = TRUE;
+       s_pDialog = cairo_dock_build_dialog (&attr, pIcon, CAIRO_CONTAINER 
(pDock));
+       myDialogsParam.dialogTextDescription.bUseMarkup = FALSE;
++      cairo_dock_register_notification_on_object (s_pDialog,
++              NOTIFICATION_DESTROY, 
(CairoDockNotificationFunc)_on_group_dialog_destroyed,
++              CAIRO_DOCK_RUN_AFTER, NULL);
+       
+       gtk_window_set_transient_for (GTK_WINDOW 
(s_pDialog->container.pWidget), GTK_WINDOW (s_pMainWindow));
+       g_free (cDescription);
+@@ -932,7 +935,7 @@ static gboolean _check_group_button (gpointer data)
+       if (Xid != cairo_dock_get_current_active_window ())  // we're not the 
active window any more, so the 'leave' event was probably due to an Alt+Tab -> 
the mouse is really out of the button.
+       {
+               gtk_widget_hide (s_pPreviewBox);
+-      
++              
+               cairo_dock_dialog_unreference (s_pDialog);
+               
+               s_pCurrentButton = NULL;
+-- 
+1.7.10.4
+
diff -Nru 
cairo-dock-3.0.0/debian/patches/0001-main-GUI-fix-a-case-where-the-description-dialog-pre.patch
 
cairo-dock-3.0.0/debian/patches/0001-main-GUI-fix-a-case-where-the-description-dialog-pre.patch
--- 
cairo-dock-3.0.0/debian/patches/0001-main-GUI-fix-a-case-where-the-description-dialog-pre.patch
     1970-01-01 09:00:00.000000000 +0900
+++ 
cairo-dock-3.0.0/debian/patches/0001-main-GUI-fix-a-case-where-the-description-dialog-pre.patch
     2012-11-27 12:15:55.000000000 +0900
@@ -0,0 +1,192 @@
+Description: main GUI: fix a case where the description dialog&preview didn't 
appear when hovering the button
+Forwarded: not-needed
+rigin: upstream, 
http://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-core/cairo-dock/revision/1085
+Bug-Debian: http://bugs.debian.org/676841
+               
+---
+ src/cairo-dock-gui-main.c |  101 ++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 82 insertions(+), 19 deletions(-)
+
+diff --git a/src/cairo-dock-gui-main.c b/src/cairo-dock-gui-main.c
+index 50b02f3..1983329 100644
+--- a/src/cairo-dock-gui-main.c
++++ b/src/cairo-dock-gui-main.c
+@@ -24,6 +24,9 @@
+ #include <glib/gstdio.h>
+ #include <glib/gi18n.h>
+ 
++
++#include <gdk/gdkx.h>
++
+ #include "config.h"
+ #include "cairo-dock-module-factory.h"
+ #include "cairo-dock-icon-facility.h"
+@@ -123,7 +126,8 @@ static GtkWidget *s_pStatusBar = NULL;
+ static GSList *s_path = NULL;
+ static int s_iPreviewWidth, s_iNbButtonsByRow;
+ static CairoDialog *s_pDialog = NULL;
+-static int s_iSidShowGroupDialog = 0;
++static guint s_iSidShowGroupDialog = 0;
++static guint s_iSidCheckGroupButton = 0;
+ 
+ static const gchar *s_cCategoriesDescription[2*(CAIRO_DOCK_NB_CATEGORY+1)] = {
+       N_("Behaviour"), "icon-behavior.svg",
+@@ -803,6 +807,10 @@ static void on_click_back_button (GtkButton *button, 
gpointer data)
+       _show_group_or_category (pPrevPlace);
+ }
+ 
++static void _on_group_dialog_destroyed (gpointer data)
++{
++      s_pDialog = NULL;
++}
+ static gboolean _show_group_dialog (CairoDockGroupDescription 
*pGroupDescription)
+ {
+       gchar *cDescription = NULL;
+@@ -869,9 +877,7 @@ static gboolean _show_group_dialog 
(CairoDockGroupDescription *pGroupDescription
+               gdk_pixbuf_unref (pPreviewPixbuf);
+       }
+       
+-      if (s_pDialog != NULL)
+-              if (! cairo_dock_dialog_unreference (s_pDialog))
+-                      cairo_dock_dialog_unreference (s_pDialog);
++      cairo_dock_dialog_unreference (s_pDialog);
+       Icon *pIcon = cairo_dock_get_current_active_icon ();
+       if (pIcon == NULL || pIcon->cParentDockName == NULL || 
cairo_dock_icon_is_being_removed (pIcon))
+               pIcon = cairo_dock_get_dialogless_icon ();
+@@ -882,45 +888,96 @@ static gboolean _show_group_dialog 
(CairoDockGroupDescription *pGroupDescription
+       attr.cText = dgettext (pGroupDescription->cGettextDomain, cDescription 
!= NULL ? cDescription : pGroupDescription->cDescription);
+       attr.cImageFilePath = pGroupDescription->cIcon;
+       attr.bNoInput = TRUE;
++      attr.pFreeDataFunc = _on_group_dialog_destroyed;
+       myDialogsParam.dialogTextDescription.bUseMarkup = TRUE;
+       s_pDialog = cairo_dock_build_dialog (&attr, pIcon, CAIRO_CONTAINER 
(pDock));
+       myDialogsParam.dialogTextDescription.bUseMarkup = FALSE;
+       
+-      cairo_dock_dialog_reference (s_pDialog);
+-      
+       gtk_window_set_transient_for (GTK_WINDOW 
(s_pDialog->container.pWidget), GTK_WINDOW (s_pMainWindow));
+       g_free (cDescription);
+ 
+       s_iSidShowGroupDialog = 0;
+       return FALSE;
+ }
+-static void on_enter_group_button (GtkButton *button, 
CairoDockGroupDescription *pGroupDescription)
++
++static GtkButton *s_pCurrentButton = NULL;
++static gboolean on_enter_group_button (GtkButton *button, GdkEventCrossing 
*pEvent, CairoDockGroupDescription *pGroupDescription)
+ {
+-      //g_print ("%s (%s)\n", __func__, pGroupDescription->cDescription);
++      g_print ("%s (%s)\n", __func__, pGroupDescription->cGroupName);
+       if (g_pPrimaryContainer == NULL)  // inutile en maintenance, le 
dialogue risque d'apparaitre sur la souris.
+-              return ;
++              return FALSE;
+       
++      // if we were about to show a dialog, cancel it to reset the timer.
+       if (s_iSidShowGroupDialog != 0)
+               g_source_remove (s_iSidShowGroupDialog);
+       
++      if (s_iSidCheckGroupButton != 0)
++      {
++              g_source_remove (s_iSidCheckGroupButton);
++              s_iSidCheckGroupButton = 0;
++      }
++      
++      // avoid re-entering the same button (can happen if the input shape of 
the dialog is set a bit late by X, and the dialog spawns under the cursor, 
which will make us leave the button and re-enter when the input shape is ready).
++      if (s_pCurrentButton == button)
++              return FALSE;
++      s_pCurrentButton = button;  // we don't actually use the content of the 
pointer, only the address value.
++      
++      // show the dialog with a delay.
+       s_iSidShowGroupDialog = g_timeout_add (330, 
(GSourceFunc)_show_group_dialog, (gpointer) pGroupDescription);
++      return FALSE;
+ }
+-static void on_leave_group_button (GtkButton *button, gpointer *data)
++static gboolean _check_group_button (gpointer data)
+ {
+-      //g_print ("%s ()\n", __func__);
++      Window Xid = GDK_WINDOW_XID (gtk_widget_get_window (s_pMainWindow));
++      if (Xid != cairo_dock_get_current_active_window ())  // we're not the 
active window any more, so the 'leave' event was probably due to an Alt+Tab -> 
the mouse is really out of the button.
++      {
++              gtk_widget_hide (s_pPreviewBox);
++      
++              cairo_dock_dialog_unreference (s_pDialog);
++              
++              s_pCurrentButton = NULL;
++      }
++      s_iSidCheckGroupButton = 0;
++      return FALSE;
++}
++static gboolean on_leave_group_button (GtkButton *button, GdkEventCrossing 
*pEvent, gpointer data)
++{
++      g_print ("%s (%d, %d)\n", __func__, pEvent->mode, pEvent->detail);
++      // if we were about to show the dialog, cancel.
+       if (s_iSidShowGroupDialog != 0)
+       {
+               g_source_remove (s_iSidShowGroupDialog);
+               s_iSidShowGroupDialog = 0;
+       }
+-
+-      int iPreviewWidgetWidth = s_iPreviewWidth;
+-      GtkWidget *pPreviewImage = s_pPreviewImage;
++      
++      if (s_iSidCheckGroupButton != 0)
++      {
++              g_source_remove (s_iSidCheckGroupButton);
++              s_iSidCheckGroupButton = 0;
++      }
++      
++      // check that we are really outside of the button (this may be false if 
the dialog is appearing under the mouse and has not yet its input shape (X 
lag)).
++      if (pEvent->detail != GDK_NOTIFY_ANCESTOR)  // a LeaveNotify event not 
within the same window (ie, either an Alt+Tab or the dialog that spawned under 
the cursor)
++      {
++              int x, y;
++              gtk_widget_get_pointer (GTK_WIDGET (button), &x, &y);
++              GtkAllocation allocation;
++              gtk_widget_get_allocation (GTK_WIDGET (button), &allocation);
++              if (x >= 0 && x < allocation.width && y >= 0 && y < 
allocation.height)  // we are actually still inside the button, ignore the 
event, we'll get an 'enter' event as soon as the dialog's input shape is ready.
++              {
++                      s_iSidCheckGroupButton = g_timeout_add (1000, 
_check_group_button, NULL);  // check in a moment if we left the button because 
of the dialog or because of another window (alt+tab).
++                      return FALSE;
++              }
++      }
++      
++      // hide the dialog and the preview box.
+       gtk_widget_hide (s_pPreviewBox);
+       
+-      if (! cairo_dock_dialog_unreference (s_pDialog))
+-              cairo_dock_dialog_unreference (s_pDialog);
+-      s_pDialog = NULL;
++      cairo_dock_dialog_unreference (s_pDialog);
++      
++      s_pCurrentButton = NULL;
++      
++      return FALSE;
+ }
+ 
+ 
+@@ -986,6 +1043,12 @@ static gboolean on_delete_main_gui (GtkWidget *pWidget, 
gpointer data)
+               g_source_remove (s_iSidShowGroupDialog);
+               s_iSidShowGroupDialog = 0;
+       }
++      cairo_dock_dialog_unreference (s_pDialog);
++      if (s_iSidCheckGroupButton != 0)
++      {
++              g_source_remove (s_iSidCheckGroupButton);
++              s_iSidCheckGroupButton = 0;
++      }
+       return FALSE;
+ }
+ 
+@@ -1364,8 +1427,8 @@ static inline CairoDockGroupDescription 
*_add_group_button (const gchar *cGroupN
+               g_signal_connect (G_OBJECT (pGroupButton), "clicked", 
G_CALLBACK(on_click_group_button), pGroupDescription);
+       else
+               gtk_widget_set_sensitive (pGroupButton, FALSE);
+-      g_signal_connect (G_OBJECT (pGroupButton), "enter", 
G_CALLBACK(on_enter_group_button), pGroupDescription);
+-      g_signal_connect (G_OBJECT (pGroupButton), "leave", 
G_CALLBACK(on_leave_group_button), NULL);
++      g_signal_connect (G_OBJECT (pGroupButton), "enter-notify-event", 
G_CALLBACK(on_enter_group_button), pGroupDescription);
++      g_signal_connect (G_OBJECT (pGroupButton), "leave-notify-event", 
G_CALLBACK(on_leave_group_button), NULL);
+ 
+       GtkWidget *pButtonHBox = _gtk_hbox_new (CAIRO_DOCK_FRAME_MARGIN);
+       GtkWidget *pImage = _make_image (cIconPath, CAIRO_DOCK_GROUP_ICON_SIZE);
+-- 
+1.7.10.4
+
diff -Nru cairo-dock-3.0.0/debian/patches/series 
cairo-dock-3.0.0/debian/patches/series
--- cairo-dock-3.0.0/debian/patches/series      2012-04-13 20:04:14.000000000 
+0900
+++ cairo-dock-3.0.0/debian/patches/series      2012-11-27 12:15:55.000000000 
+0900
@@ -1 +1,3 @@
 0001-Fix-GLIB-Single-Include-issue-Closes-665514.patch
+0001-main-GUI-fix-a-case-where-the-description-dialog-pre.patch
+0001-Main-GUI-fixed-a-crash-when-hovering-group-buttons-t.patch
diff -Nru cairo-dock-3.0.0/debian/rules cairo-dock-3.0.0/debian/rules
--- cairo-dock-3.0.0/debian/rules       2011-07-05 21:46:15.000000000 +0900
+++ cairo-dock-3.0.0/debian/rules       2012-11-27 12:15:55.000000000 +0900
@@ -1,5 +1,10 @@
 #!/usr/bin/make -f
 
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+CFLAGS+=$(CPPFLAGS)
+CXXFLAGS+=$(CPPFLAGS)
+
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/cmake.mk
 include /usr/share/cdbs/1/rules/patchsys-quilt.mk

--- End Message ---
--- Begin Message ---
On Mon, 2013-01-14 at 08:46 +0900, Nobuhiro Iwamatsu wrote:
> On Fri, Jan 11, 2013 at 11:09 PM, Adam D. Barratt
> <[email protected]> wrote:
> > On Fri, 2013-01-11 at 20:10 +0900, Nobuhiro Iwamatsu wrote:
> >> I deleted these patches and applied the patch for correcting #676841 from
> >> http://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-core/cairo-dock/revision/1075.
> >> Would you check this?
> >
> > +cairo-dock (3.0.0-3) testing; urgency=low
> > +
> > +  * Fix syntax error in copyright file.
> > +  * Fix segfault when using log out applet. (Closes: #676841)
> >
> > 3.0.0-2+deb7u1 is a more conventional version number here, to make it
> > clear that the upload was "out of sequence". Please go ahead; thanks.
> 
> Thank you.I will fix this.

Approved; thanks.

Regards,

Adam

--- End Message ---

Reply via email to