From cf543d7adf2da9cd84f0e28da3d8beabe5fa9b0f Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Wed, 26 Jan 2011 21:49:31 -0800 Subject: [PATCH] fixes #1992, #1993, see #1994 --- VERSION | 2 +- VERSION.h | 2 +- doc/ChangeLog | 14 +++++++++++++- packaging/fwbuilder-static-qt.spec | 2 +- packaging/fwbuilder.control | 2 +- packaging/fwbuilder.spec | 2 +- src/libgui/FWBSettings.h | 4 ++-- src/libgui/ProjectPanel_events.cpp | 6 ++++-- src/libgui/ProjectPanel_file_ops.cpp | 16 +++++++++------- 9 files changed, 33 insertions(+), 17 deletions(-) diff --git a/VERSION b/VERSION index 7c517fecd..1ef00d3f0 100644 --- a/VERSION +++ b/VERSION @@ -7,7 +7,7 @@ FWB_MICRO_VERSION=0 # build number is like "nano" version number. I am incrementing build # number during development cycle # -BUILD_NUM="3448" +BUILD_NUM="3449" VERSION="$FWB_MAJOR_VERSION.$FWB_MINOR_VERSION.$FWB_MICRO_VERSION.$BUILD_NUM" diff --git a/VERSION.h b/VERSION.h index f2007fb40..7b87be724 100644 --- a/VERSION.h +++ b/VERSION.h @@ -1,2 +1,2 @@ -#define VERSION "4.2.0.3448" +#define VERSION "4.2.0.3449" #define GENERATION "4.2" diff --git a/doc/ChangeLog b/doc/ChangeLog index 113b9ee53..4c9ab0fe5 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,16 @@ -2011-01-26 Vadim Kurland +2011-01-26 vadim + + * ProjectPanel_events.cpp (event): see #1994 "Crash when compiling + a firewall in an imported Library". To prevent crash, added check + to make sure firewall object is not read-only before an attempt to + update its "last compiled" or "last installed" timestamp. + + * ProjectPanel_file_ops.cpp (fileExport): fixes #1993 "V4.2 on + Windows - export Library shows the file type as Firewall Builder + 2" + + * FWBSettings.h (SETTINGS_PATH_PREFIX): fixes #1992 " V4.2 on + Windows - installer error can't find Secure Shell utility" * init.cpp (init): fixed #1989 "variables respath and librespath are redundant and copy Constants::getTemplateDirectory()". Got rid diff --git a/packaging/fwbuilder-static-qt.spec b/packaging/fwbuilder-static-qt.spec index 329f9ca1a..12935dcf6 100644 --- a/packaging/fwbuilder-static-qt.spec +++ b/packaging/fwbuilder-static-qt.spec @@ -3,7 +3,7 @@ %define name fwbuilder -%define version 4.2.0.3448 +%define version 4.2.0.3449 %define release 1 %if "%_vendor" == "MandrakeSoft" diff --git a/packaging/fwbuilder.control b/packaging/fwbuilder.control index 177c6af3c..26c1b0176 100644 --- a/packaging/fwbuilder.control +++ b/packaging/fwbuilder.control @@ -4,6 +4,6 @@ Replaces: fwbuilder (<=4.1.1-1), fwbuilder-common, fwbuilder-bsd, fwbuilder-linu Priority: extra Section: checkinstall Maintainer: vadim@fwbuilder.org -Version: 4.2.0.3448-1 +Version: 4.2.0.3449-1 Depends: libqt4-gui (>= 4.3.0), libxml2, libxslt1.1, libsnmp | libsnmp15 Description: Firewall Builder GUI and policy compilers diff --git a/packaging/fwbuilder.spec b/packaging/fwbuilder.spec index b3fd44309..fcf6bb05d 100644 --- a/packaging/fwbuilder.spec +++ b/packaging/fwbuilder.spec @@ -1,6 +1,6 @@ %define name fwbuilder -%define version 4.2.0.3448 +%define version 4.2.0.3449 %define release 1 %if "%_vendor" == "MandrakeSoft" diff --git a/src/libgui/FWBSettings.h b/src/libgui/FWBSettings.h index 0156ad5d0..13bdecf89 100644 --- a/src/libgui/FWBSettings.h +++ b/src/libgui/FWBSettings.h @@ -34,7 +34,7 @@ #include -#define SETTINGS_PATH_PREFIX "/4.1" +#define SETTINGS_PATH_PREFIX "/4.2" #include @@ -68,7 +68,7 @@ class FWBSettings : public QSettings { FWBSettings(bool testData = false); ~FWBSettings(); - static QString getApplicationNameForSettings() { return "FirewallBuilder4.1"; } + static QString getApplicationNameForSettings() { return "FirewallBuilder4.2"; } void init(bool force_first_time_run=false); void save(); diff --git a/src/libgui/ProjectPanel_events.cpp b/src/libgui/ProjectPanel_events.cpp index 2c14139f9..8db8e829c 100644 --- a/src/libgui/ProjectPanel_events.cpp +++ b/src/libgui/ProjectPanel_events.cpp @@ -204,7 +204,8 @@ bool ProjectPanel::event(QEvent *event) } case UPDATE_LAST_COMPILED_TIMESTAMP_EVENT: - if (rcs && !rcs->isRO() && Firewall::cast(obj)) + if (rcs && !rcs->isRO() && + Firewall::cast(obj) && !obj->isReadOnly()) { Firewall::cast(obj)->updateLastCompiledTimestamp(); QCoreApplication::postEvent( @@ -215,7 +216,8 @@ bool ProjectPanel::event(QEvent *event) break; case UPDATE_LAST_INSTALLED_TIMESTAMP_EVENT: - if (rcs && !rcs->isRO() && Firewall::cast(obj)) + if (rcs && !rcs->isRO() && + Firewall::cast(obj) && !obj->isReadOnly()) { Firewall::cast(obj)->updateLastInstalledTimestamp(); QCoreApplication::postEvent( diff --git a/src/libgui/ProjectPanel_file_ops.cpp b/src/libgui/ProjectPanel_file_ops.cpp index 2af46a16f..d7c5cc8b3 100644 --- a/src/libgui/ProjectPanel_file_ops.cpp +++ b/src/libgui/ProjectPanel_file_ops.cpp @@ -616,17 +616,18 @@ void ProjectPanel::fileExport() } while (!exportLibraryTest(selectedLibs)); FWObject *selLib = ed.mapOfLibs[ lib_idx ]; - path=st->getWDir()+QString::fromUtf8(selLib->getName().c_str())+".fwl"; + path = st->getWDir() + QString::fromUtf8(selLib->getName().c_str()) + ".fwl"; resetFD(); - QString fname; - fname = QFileDialog::getSaveFileName( - this, - "Choose a filename to save under", - path, - "Firewall Builder 2 files (*.fwl)"); + + QString fname = QFileDialog::getSaveFileName( + this, + "Choose a filename to save under", + path, + "Firewall Builder library files (*.fwl)"); if (fname.isEmpty()) return; + if (QFile::exists(fname) && QMessageBox::warning( this,"Firewall Builder", @@ -634,6 +635,7 @@ void ProjectPanel::fileExport() .arg(fname), tr("&Yes"), tr("&No"), QString::null, 0, 1 )==1 ) return; + exportLibraryTo(fname,selectedLibs,ed.m_dialog->exportRO->isChecked()); }