--- Begin Message ---
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
--- End Message ---