[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#771921: unblock: texstudio/2.8.4+debian-3



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Hi

I've just fixed a grave bug #770721 (Deletes existing "file.tex" when
"texstudio file" executed) which caused data loss.

When texstudio is called from command line with "texstudio some", it
automatically appends a file extension (e.g. .tex) and silently saves
the new empty file as "some.tex" (instead of "some") resulting in data
loss if a file called "some.tex" already existed.

The bug has actually been correctly fixed upstream
(https://sourceforge.net/p/texstudio/hg/ci/3ddd22751dac0beadcf2aea3518dc0461633b5d2/)
but somehow ended up broken/incomplete in the source tar.gz.

If the release team is ok with the changes, I'll upload version
2.8.4+debian-3 as follows:

texstudio (2.8.4+debian-3) unstable; urgency=medium

  * Adding 06-fix-silent-file-saving.patch in order to prevent data loss
    (Closes: #770721).

 -- Tom Jampen <tom@cryptography.ch>  Wed, 03 Dec 2014 14:05:12 +0200

Thanks
Tom
diff -Nru texstudio-2.8.4+debian/debian/changelog texstudio-2.8.4+debian/debian/changelog
--- texstudio-2.8.4+debian/debian/changelog	2014-11-06 14:45:35.000000000 +0100
+++ texstudio-2.8.4+debian/debian/changelog	2014-12-03 14:06:05.000000000 +0100
@@ -1,3 +1,10 @@
+texstudio (2.8.4+debian-3) unstable; urgency=medium
+
+  * Adding 06-fix-silent-file-saving.patch in order to prevent data loss
+    (Closes: #770721).
+
+ -- Tom Jampen <tom@cryptography.ch>  Wed, 03 Dec 2014 14:05:12 +0200
+
 texstudio (2.8.4+debian-2) unstable; urgency=medium
 
   * Updating to standards version 3.9.6, no changes needed.
diff -Nru texstudio-2.8.4+debian/debian/patches/06-fix-silent-file-saving.patch texstudio-2.8.4+debian/debian/patches/06-fix-silent-file-saving.patch
--- texstudio-2.8.4+debian/debian/patches/06-fix-silent-file-saving.patch	1970-01-01 01:00:00.000000000 +0100
+++ texstudio-2.8.4+debian/debian/patches/06-fix-silent-file-saving.patch	2014-12-03 13:55:20.000000000 +0100
@@ -0,0 +1,43 @@
+Author: Tom Jampen <tom@cryptography.ch>
+Description:
+ Fixing a bug that caused texstudio to append a file extension based on the
+ current selectedFileFilter even if a 'silent save' is performed. This
+ resulted in data loss in the case a file with the file extension was
+ already present.
+
+diff -Naurp a/texmaker.cpp b/texmaker.cpp
+--- a/texmaker.cpp	2014-12-03 13:27:44.039587135 +0100
++++ b/texmaker.cpp	2014-12-03 13:39:15.605830640 +0100
+@@ -2279,18 +2279,21 @@ void Texmaker::fileSaveAs(const QString&
+ 	}
+ 	
+ 	// get a file name
+-    QString fn =fileName;
+-    if(!saveSilently || fn.isEmpty())
+-        fn = QFileDialog::getSaveFileName(this,tr("Save As"),currentDir,fileFilters, &selectedFileFilter);
+-	if (!fn.isEmpty()) {
+-		static QRegExp fileExt("\\*(\\.[^ )]+)");
+-		if (fileExt.indexIn(selectedFileFilter) > -1) {
+-			//add
+-			int lastsep=qMax(fn.lastIndexOf("/"),fn.lastIndexOf("\\"));
+-			int lastpoint=fn.lastIndexOf(".");
+-			if (lastpoint <= lastsep) //if both aren't found or point is in directory name
+-				fn.append(fileExt.cap(1));
++	QString fn =fileName;
++	if(!saveSilently || fn.isEmpty()) {
++		fn = QFileDialog::getSaveFileName(this,tr("Save As"),currentDir,fileFilters, &selectedFileFilter);
++		if (!fn.isEmpty()) {
++			static QRegExp fileExt("\\*(\\.[^ )]+)");
++			if (fileExt.indexIn(selectedFileFilter) > -1) {
++				//add
++				int lastsep=qMax(fn.lastIndexOf("/"),fn.lastIndexOf("\\"));
++				int lastpoint=fn.lastIndexOf(".");
++				if (lastpoint <= lastsep) //if both aren't found or point is in directory name
++					fn.append(fileExt.cap(1));
++			}
+ 		}
++	}
++	if (!fn.isEmpty()) {
+ 		if (getEditorViewFromFileName(fn) && getEditorViewFromFileName(fn) != currentEditorView()) {
+ 			// trying to save with same name as another already existing file
+ 			LatexEditorView *otherEdView = getEditorViewFromFileName(fn);
diff -Nru texstudio-2.8.4+debian/debian/patches/series texstudio-2.8.4+debian/debian/patches/series
--- texstudio-2.8.4+debian/debian/patches/series	2014-09-10 06:51:30.000000000 +0200
+++ texstudio-2.8.4+debian/debian/patches/series	2014-12-03 14:31:35.000000000 +0100
@@ -3,3 +3,4 @@
 03-disable-auto-update.patch
 04-no-qt-translations.patch
 05-use-libsynctex.patch
+06-fix-silent-file-saving.patch

Reply to: