author | leseb <leseb> | 2002-06-16 16:15:47 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-06-16 16:15:47 (UTC) |
commit | ea69cfbbde29fef2f792d1eab702699aada088bf (patch) (unidiff) | |
tree | 1b908b905a16deaba7331d2f0b0c844f94235da0 | |
parent | d4414131cdf32677e8d54a18827f2e772718c3f7 (diff) | |
download | opie-ea69cfbbde29fef2f792d1eab702699aada088bf.zip opie-ea69cfbbde29fef2f792d1eab702699aada088bf.tar.gz opie-ea69cfbbde29fef2f792d1eab702699aada088bf.tar.bz2 |
Fix memory leaks
-rw-r--r-- | noncore/unsupported/mail2/composer.cpp | 28 | ||||
-rw-r--r-- | noncore/unsupported/mail2/composer.h | 5 | ||||
-rw-r--r-- | noncore/unsupported/mail2/mainwindow.cpp | 26 | ||||
-rw-r--r-- | noncore/unsupported/mail2/searchdiag.cpp | 6 | ||||
-rw-r--r-- | noncore/unsupported/mail2/viewmail.cpp | 44 | ||||
-rw-r--r-- | noncore/unsupported/mail2/viewmail.h | 5 |
6 files changed, 88 insertions, 26 deletions
diff --git a/noncore/unsupported/mail2/composer.cpp b/noncore/unsupported/mail2/composer.cpp index 82ed117..7f65dba 100644 --- a/noncore/unsupported/mail2/composer.cpp +++ b/noncore/unsupported/mail2/composer.cpp | |||
@@ -7,4 +7,5 @@ | |||
7 | #include <qtimer.h> | 7 | #include <qtimer.h> |
8 | #include <qlabel.h> | 8 | #include <qlabel.h> |
9 | #include <qapplication.h> | ||
9 | 10 | ||
10 | #include <qpe/resource.h> | 11 | #include <qpe/resource.h> |
@@ -26,5 +27,5 @@ AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment) | |||
26 | 27 | ||
27 | Composer::Composer(QWidget *parent, const char *name, WFlags fl) | 28 | Composer::Composer(QWidget *parent, const char *name, WFlags fl) |
28 | : ComposerBase(parent, name, fl) | 29 | : ComposerBase(parent, name, fl), _inLoop(false) |
29 | { | 30 | { |
30 | abort->setEnabled(false); | 31 | abort->setEnabled(false); |
@@ -44,4 +45,29 @@ Composer::Composer(QWidget *parent, const char *name, WFlags fl) | |||
44 | } | 45 | } |
45 | 46 | ||
47 | Composer::~Composer() | ||
48 | { | ||
49 | hide(); | ||
50 | } | ||
51 | |||
52 | void Composer::hide() | ||
53 | { | ||
54 | QWidget::hide(); | ||
55 | |||
56 | if (_inLoop) { | ||
57 | _inLoop = false; | ||
58 | qApp->exit_loop(); | ||
59 | } | ||
60 | } | ||
61 | |||
62 | void Composer::exec() | ||
63 | { | ||
64 | show(); | ||
65 | |||
66 | if (!_inLoop) { | ||
67 | _inLoop = true; | ||
68 | qApp->enter_loop(); | ||
69 | } | ||
70 | } | ||
71 | |||
46 | void Composer::setSendMail(SendMail &sendMail) | 72 | void Composer::setSendMail(SendMail &sendMail) |
47 | { | 73 | { |
diff --git a/noncore/unsupported/mail2/composer.h b/noncore/unsupported/mail2/composer.h index a1af121..2640d7e 100644 --- a/noncore/unsupported/mail2/composer.h +++ b/noncore/unsupported/mail2/composer.h | |||
@@ -27,4 +27,8 @@ class Composer : public ComposerBase | |||
27 | public: | 27 | public: |
28 | Composer(QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); | 28 | Composer(QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); |
29 | ~Composer(); | ||
30 | |||
31 | void hide(); | ||
32 | void exec(); | ||
29 | 33 | ||
30 | void setSendMail(SendMail &sendMail); | 34 | void setSendMail(SendMail &sendMail); |
@@ -46,4 +50,5 @@ protected: | |||
46 | 50 | ||
47 | private: | 51 | private: |
52 | bool _inLoop; | ||
48 | QString _inReplyTo; | 53 | QString _inReplyTo; |
49 | 54 | ||
diff --git a/noncore/unsupported/mail2/mainwindow.cpp b/noncore/unsupported/mail2/mainwindow.cpp index 4d15e23..2230dc0 100644 --- a/noncore/unsupported/mail2/mainwindow.cpp +++ b/noncore/unsupported/mail2/mainwindow.cpp | |||
@@ -37,29 +37,29 @@ MainWindow::MainWindow(QWidget *parent, const char *name, WFlags fl) | |||
37 | void MainWindow::slotCompose() | 37 | void MainWindow::slotCompose() |
38 | { | 38 | { |
39 | Composer *composer = new Composer(); | 39 | Composer composer(this, 0, true); |
40 | composer->showMaximized(); | 40 | composer.showMaximized(); |
41 | composer->show(); | 41 | composer.exec(); |
42 | } | 42 | } |
43 | 43 | ||
44 | void MainWindow::slotSearch() | 44 | void MainWindow::slotSearch() |
45 | { | 45 | { |
46 | SearchDiag *searchDiag = new SearchDiag(this, 0, true); | 46 | SearchDiag searchDiag(this, 0, true); |
47 | searchDiag->showMaximized(); | 47 | searchDiag.showMaximized(); |
48 | searchDiag->show(); | 48 | searchDiag.exec(); |
49 | } | 49 | } |
50 | 50 | ||
51 | void MainWindow::slotConfigure() | 51 | void MainWindow::slotConfigure() |
52 | { | 52 | { |
53 | ConfigDiag *configDiag = new ConfigDiag(this, 0, true); | 53 | ConfigDiag configDiag(this, 0, true); |
54 | configDiag->showMaximized(); | 54 | configDiag.showMaximized(); |
55 | configDiag->show(); | 55 | configDiag.exec(); |
56 | 56 | ||
57 | connect(configDiag, SIGNAL(changed()), folderView, SLOT(update())); | 57 | connect(&configDiag, SIGNAL(changed()), folderView, SLOT(update())); |
58 | } | 58 | } |
59 | 59 | ||
60 | void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler) | 60 | void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler) |
61 | { | 61 | { |
62 | ViewMail *viewMail = new ViewMail(mail, handler); | 62 | ViewMail viewMail(mail, handler, this, 0, true); |
63 | viewMail->showMaximized(); | 63 | viewMail.showMaximized(); |
64 | viewMail->show(); | 64 | viewMail.exec(); |
65 | } | 65 | } |
diff --git a/noncore/unsupported/mail2/searchdiag.cpp b/noncore/unsupported/mail2/searchdiag.cpp index 33b8afb..907f6ff 100644 --- a/noncore/unsupported/mail2/searchdiag.cpp +++ b/noncore/unsupported/mail2/searchdiag.cpp | |||
@@ -113,7 +113,7 @@ void SearchDiag::slotIMAPFetch(IMAPResponse &response) | |||
113 | void SearchDiag::slotMailClicked(IMAPResponseFETCH fetch, IMAPHandler *) | 113 | void SearchDiag::slotMailClicked(IMAPResponseFETCH fetch, IMAPHandler *) |
114 | { | 114 | { |
115 | ViewMail *viewMail = new ViewMail(fetch, _folder.topFolder().handler()); | 115 | ViewMail viewMail(fetch, _folder.topFolder().handler(), this, 0, true); |
116 | viewMail->showMaximized(); | 116 | viewMail.showMaximized(); |
117 | viewMail->show(); | 117 | viewMail.exec(); |
118 | } | 118 | } |
119 | 119 | ||
diff --git a/noncore/unsupported/mail2/viewmail.cpp b/noncore/unsupported/mail2/viewmail.cpp index ae1f5f3..3c88d99 100644 --- a/noncore/unsupported/mail2/viewmail.cpp +++ b/noncore/unsupported/mail2/viewmail.cpp | |||
@@ -2,4 +2,5 @@ | |||
2 | #include <qmessagebox.h> | 2 | #include <qmessagebox.h> |
3 | #include <qaction.h> | 3 | #include <qaction.h> |
4 | #include <qapplication.h> | ||
4 | 5 | ||
5 | #include "mailfactory.h" | 6 | #include "mailfactory.h" |
@@ -24,5 +25,5 @@ AttachItem::AttachItem(QListViewItem *parent, AttachItemStore &attachItemStore) | |||
24 | 25 | ||
25 | ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent, const char *name, WFlags fl) | 26 | ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent, const char *name, WFlags fl) |
26 | : ViewMailBase(parent, name, fl), _mail(mail), _handler(handler) | 27 | : ViewMailBase(parent, name, fl), _inLoop(false), _mail(mail), _handler(handler) |
27 | { | 28 | { |
28 | setCaption(caption().arg(mail.envelope().from()[0].name())); | 29 | setCaption(caption().arg(mail.envelope().from()[0].name())); |
@@ -62,4 +63,29 @@ ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *paren | |||
62 | } | 63 | } |
63 | 64 | ||
65 | ViewMail::~ViewMail() | ||
66 | { | ||
67 | hide(); | ||
68 | } | ||
69 | |||
70 | void ViewMail::hide() | ||
71 | { | ||
72 | QWidget::hide(); | ||
73 | |||
74 | if (_inLoop) { | ||
75 | _inLoop = false; | ||
76 | qApp->exit_loop(); | ||
77 | } | ||
78 | } | ||
79 | |||
80 | void ViewMail::exec() | ||
81 | { | ||
82 | show(); | ||
83 | |||
84 | if (!_inLoop) { | ||
85 | _inLoop = true; | ||
86 | qApp->enter_loop(); | ||
87 | } | ||
88 | } | ||
89 | |||
64 | QString ViewMail::deHtml(const QString &string) | 90 | QString ViewMail::deHtml(const QString &string) |
65 | { | 91 | { |
@@ -102,8 +128,8 @@ void ViewMail::slotReply() | |||
102 | sendMail.setMessage(rtext); | 128 | sendMail.setMessage(rtext); |
103 | 129 | ||
104 | Composer *composer = new Composer(0, 0, Qt::WType_Modal); | 130 | Composer composer(this, 0, true); |
105 | composer->setSendMail(sendMail); | 131 | composer.setSendMail(sendMail); |
106 | composer->showMaximized(); | 132 | composer.showMaximized(); |
107 | composer->show(); | 133 | composer.exec(); |
108 | } | 134 | } |
109 | 135 | ||
@@ -146,8 +172,8 @@ void ViewMail::slotForward() | |||
146 | sendMail.setMessage(ftext); | 172 | sendMail.setMessage(ftext); |
147 | 173 | ||
148 | Composer *composer = new Composer(0, 0, Qt::WType_Modal); | 174 | Composer composer(this, 0, true); |
149 | composer->setSendMail(sendMail); | 175 | composer.setSendMail(sendMail); |
150 | composer->showMaximized(); | 176 | composer.showMaximized(); |
151 | composer->show(); | 177 | composer.exec(); |
152 | } | 178 | } |
153 | 179 | ||
diff --git a/noncore/unsupported/mail2/viewmail.h b/noncore/unsupported/mail2/viewmail.h index a013e43..efc2300 100644 --- a/noncore/unsupported/mail2/viewmail.h +++ b/noncore/unsupported/mail2/viewmail.h | |||
@@ -44,4 +44,8 @@ class ViewMail : public ViewMailBase | |||
44 | public: | 44 | public: |
45 | ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); | 45 | ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); |
46 | ~ViewMail(); | ||
47 | |||
48 | void hide(); | ||
49 | void exec(); | ||
46 | 50 | ||
47 | protected: | 51 | protected: |
@@ -56,4 +60,5 @@ protected slots: | |||
56 | 60 | ||
57 | private: | 61 | private: |
62 | bool _inLoop; | ||
58 | IMAPResponseFETCH _mail; | 63 | IMAPResponseFETCH _mail; |
59 | IMAPHandler *_handler; | 64 | IMAPHandler *_handler; |