[Pkg-octave-commit] [SCM] Debian packaging for qtoctave branch, master, updated. 73e9377560af1f88bc4b9a1d8f0510d73e593497

Sébastien Villemot sebastien.villemot at ens.fr
Sun Mar 11 16:38:07 UTC 2012


The following commit has been merged in the master branch:
commit ee17b6abcf76f5d7f37979ce7311f5b728830a05
Author: Sébastien Villemot <sebastien.villemot at ens.fr>
Date:   Sun Mar 11 17:01:44 2012 +0100

    debian/patches/initial_position: new patch imported from Fedora

diff --git a/debian/patches/initial_position b/debian/patches/initial_position
new file mode 100644
index 0000000..cd97291
--- /dev/null
+++ b/debian/patches/initial_position
@@ -0,0 +1,61 @@
+Description: Fix crash when closing a dock tool within the first 5 seconds
+ (a NULL pointer dereference caused by a race condition between the user
+ closing the tool and the timer setting the initial positions, prevented by
+ using a QWeakPointer instead of a raw QWidget *)
+Author: Kevin Kofler <kevin.kofler at chello.at>
+Bug-Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=722986
+Forwarded: no
+Last-Update: 2011-10-06
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff -ur qtoctave-0.10.1/qtoctave/src/main.cpp qtoctave-0.10.1-initialposition/qtoctave/src/main.cpp
+--- qtoctave-0.10.1/qtoctave/src/main.cpp	2011-01-06 22:48:07.000000000 +0100
++++ qtoctave-0.10.1-initialposition/qtoctave/src/main.cpp	2011-10-06 20:17:03.000000000 +0200
+@@ -595,7 +595,7 @@
+ 						initPos.maximized=maximized;
+ 						initPos.minimized=minimized;
+ 						initPos.widget=bw->parentWidget();
+-						if(initPos.widget!=NULL)
++						if(!initPos.widget.isNull())
+ 							initialPositionList.append(initPos);
+ 						//bw->show();
+ 						//bw->move(x,y);
+@@ -694,10 +694,14 @@
+ {
+ 	foreach(InitialPosition i, initialPositionList)
+ 	{
+-		i.widget->move(i.x,i.y);
+-		i.widget->resize(i.width, i.height);
+-		if(i.maximized) i.widget->showMaximized();
+-		if(i.minimized) i.widget->showMinimized();
++		QWidget *widget = i.widget.data();
++		if (widget)
++		{
++			widget->move(i.x,i.y);
++			widget->resize(i.width, i.height);
++			if(i.maximized) widget->showMaximized();
++			if(i.minimized) widget->showMinimized();
++		}
+ 	}
+ }
+ 
+diff -ur qtoctave-0.10.1/qtoctave/src/main.h qtoctave-0.10.1-initialposition/qtoctave/src/main.h
+--- qtoctave-0.10.1/qtoctave/src/main.h	2011-01-06 22:48:08.000000000 +0100
++++ qtoctave-0.10.1-initialposition/qtoctave/src/main.h	2011-10-06 20:12:55.000000000 +0200
+@@ -27,6 +27,7 @@
+ #include <QListWidget>
+ #include <QTimer>
+ #include <QVector>
++#include <QWeakPointer>
+ #include "mainwindow.h"
+ #include "octave_connection.h"
+ #include "terminal.h"
+@@ -41,7 +42,7 @@
+ struct InitialPosition
+ {
+ 	int x, y, width, height;
+-	QWidget *widget;
++	QWeakPointer<QWidget> widget;
+ 	bool maximized, minimized;
+ };
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 0d66a98..7f16e4e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ build-out-of-source
 build-widgetserver
 filedialog-filters
 qtinfo-octave3.4
+initial_position

-- 
Debian packaging for qtoctave



More information about the Pkg-octave-commit mailing list