author | zecke <zecke> | 2004-12-20 22:21:55 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-12-20 22:21:55 (UTC) |
commit | 2be4d5bf420dc4aff71cf78601c095a96ed88c47 (patch) (side-by-side diff) | |
tree | f8d053d475501c2230a2c65acc1bed091d39faf9 | |
parent | b15930cd03acafd9770bca26f3388817f1a4dcbf (diff) | |
download | opie-2be4d5bf420dc4aff71cf78601c095a96ed88c47.zip opie-2be4d5bf420dc4aff71cf78601c095a96ed88c47.tar.gz opie-2be4d5bf420dc4aff71cf78601c095a96ed88c47.tar.bz2 |
Create the 'Config' instance on the Stack to avoid
that we revert changes done in between of our creation
and deletion
5 files changed, 17 insertions, 23 deletions
diff --git a/noncore/securityplugins/blueping/bluepingConfigWidget.cpp b/noncore/securityplugins/blueping/bluepingConfigWidget.cpp index 876ccda..17168f9 100644 --- a/noncore/securityplugins/blueping/bluepingConfigWidget.cpp +++ b/noncore/securityplugins/blueping/bluepingConfigWidget.cpp @@ -13,6 +13,6 @@ BluepingConfigWidget::BluepingConfigWidget(QWidget* parent = 0, const char* name : MultiauthConfigWidget(parent, name) { - m_config = new Config("Security"); - m_config->setGroup("BluepingPlugin"); + Config config("Security"); + config.setGroup("BluepingPlugin"); QVBoxLayout * baseLayout = new QVBoxLayout( this); baseLayout->setSpacing(11); @@ -28,5 +28,5 @@ BluepingConfigWidget::BluepingConfigWidget(QWidget* parent = 0, const char* name boxLayout->addLayout(configLayout); - QString mac = m_config->readEntry("mac"); + QString mac = config.readEntry("mac"); if ( mac.isEmpty() ) mac = "00:00:00:00:00:00"; @@ -52,5 +52,7 @@ void BluepingConfigWidget::changeMAC() { if ( (mac.length() == 17) && (macPattern.match(mac) == 0) ) { - m_config->writeEntry("mac", mac); + Config config("Security"); + config.setGroup("BluepingPlugin"); + config.writeEntry("mac", mac); QMessageBox success( tr("MAC address saved!"), "<p>" + tr("Make sure that Bluetooth is turned on on the corresponding device when the Blueping plugin needs it.") + "</p>", QMessageBox::Information, QMessageBox::Ok, QMessageBox::NoButton, QMessageBox::NoButton ); @@ -65,7 +67,5 @@ void BluepingConfigWidget::changeMAC() { /// deletes the m_config pointer BluepingConfigWidget::~BluepingConfigWidget() -{ - delete m_config; -} +{} // does nothing (there's a button to save the config) diff --git a/noncore/securityplugins/blueping/bluepingConfigWidget.h b/noncore/securityplugins/blueping/bluepingConfigWidget.h index bd1bec9..643c97f 100644 --- a/noncore/securityplugins/blueping/bluepingConfigWidget.h +++ b/noncore/securityplugins/blueping/bluepingConfigWidget.h @@ -51,5 +51,4 @@ private: QLineEdit *editMAC; QPushButton *setMAC; - Config *m_config; private slots: void changeMAC(); diff --git a/noncore/securityplugins/notice/noticeConfigWidget.cpp b/noncore/securityplugins/notice/noticeConfigWidget.cpp index e0468a7..02084f8 100644 --- a/noncore/securityplugins/notice/noticeConfigWidget.cpp +++ b/noncore/securityplugins/notice/noticeConfigWidget.cpp @@ -66,9 +66,8 @@ void NoticeConfigWidget::resetNotice() */ QString NoticeConfigWidget::getNoticeText() { - m_config = new Config("Security"); - m_config->setGroup("NoticePlugin"); + Config config("Security"); + config.setGroup("NoticePlugin"); // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp - QString noticeText = m_config->readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" ); - delete m_config; + QString noticeText = config.readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" ); return noticeText; } @@ -76,8 +75,7 @@ QString NoticeConfigWidget::getNoticeText() { /// set the notice text in our m_config config file (escaping new lines) void NoticeConfigWidget::setNoticeText(QString noticeText) { - m_config = new Config("Security"); - m_config->setGroup("NoticePlugin"); + Config config("Security"); + config.setGroup("NoticePlugin"); // since Config files do not allow true newlines, we replace them with litteral "\n" - m_config->writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" )); - delete m_config; + config.writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" )); } diff --git a/noncore/securityplugins/notice/noticeplugin.cpp b/noncore/securityplugins/notice/noticeplugin.cpp index 5617855..d3dc7a4 100644 --- a/noncore/securityplugins/notice/noticeplugin.cpp +++ b/noncore/securityplugins/notice/noticeplugin.cpp @@ -11,13 +11,9 @@ using Opie::Security::MultiauthConfigWidget; /// creates and initializes the m_config Config object NoticePlugin::NoticePlugin() : MultiauthPluginObject(), m_noticeW(0) { - m_config = new Config("Security"); - m_config->setGroup("NoticePlugin"); } /// deletes the m_config Config object and noticeW if necessary NoticePlugin::~NoticePlugin() { - delete m_config; - if (m_noticeW != 0) - delete m_noticeW; + delete m_noticeW; } @@ -82,5 +78,7 @@ int NoticePlugin::authenticate() { QString NoticePlugin::getNoticeText() { // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp - return m_config->readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" ); + Config config("Security"); + config.setGroup("NoticePlugin"); + return config.readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" ); } diff --git a/noncore/securityplugins/notice/noticeplugin.h b/noncore/securityplugins/notice/noticeplugin.h index 2828f58..22b2322 100644 --- a/noncore/securityplugins/notice/noticeplugin.h +++ b/noncore/securityplugins/notice/noticeplugin.h @@ -58,5 +58,4 @@ public: private: NoticeConfigWidget * m_noticeW; - Config * m_config; QString getNoticeText(); }; |