author | alwin <alwin> | 2004-07-19 13:25:12 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-07-19 13:25:12 (UTC) |
commit | 1397c4f0801d4bf1581c26e466453ba65f1b4261 (patch) (side-by-side diff) | |
tree | dd57fbf32ca9371d77ae0a90aa564f8b07779a3f | |
parent | f35e69d020bdce078e2fc11f3a5298118a33f346 (diff) | |
download | opie-1397c4f0801d4bf1581c26e466453ba65f1b4261.zip opie-1397c4f0801d4bf1581c26e466453ba65f1b4261.tar.gz opie-1397c4f0801d4bf1581c26e466453ba65f1b4261.tar.bz2 |
block SIGPIPE global 'cause we can not satisfy it inside libetpan
itself.
-rw-r--r-- | noncore/net/mail/opiemail.cpp | 30 | ||||
-rw-r--r-- | noncore/net/mail/opiemail.h | 3 |
2 files changed, 25 insertions, 8 deletions
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp index 5399c3c..2f87e44 100644 --- a/noncore/net/mail/opiemail.cpp +++ b/noncore/net/mail/opiemail.cpp @@ -15,27 +15,41 @@ #include <opie2/odebug.h> #include <qpe/resource.h> #include <qpe/qpeapplication.h> /* QT */ +/* UNIX */ +#include <signal.h> + using namespace Opie::Core; OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags ) : MainWindow( parent, name, WStyle_ContextHelp ) { + setup_signalblocking(); settings = new Settings(); folderView->populate( settings->getAccounts() ); } OpieMail::~OpieMail() { if (settings) delete settings; } +void OpieMail::setup_signalblocking() +{ + /* for networking we must block SIGPIPE and Co. */ + struct sigaction blocking_action,temp_action; + blocking_action.sa_handler = SIG_IGN; + sigemptyset(&(blocking_action.sa_mask)); + blocking_action.sa_flags = 0; + sigaction(SIGPIPE,&blocking_action,&temp_action); +} + void OpieMail::appMessage(const QCString &msg, const QByteArray &data) { // copied from old mail2 if (msg == "writeMail(QString,QString)") { QDataStream stream(data,IO_ReadOnly); @@ -67,19 +81,19 @@ void OpieMail::slotwriteMail(const QString&name,const QString&email) compose.slotAdjustColumns(); QPEApplication::execDialog( &compose ); } void OpieMail::slotComposeMail() { - odebug << "Compose Mail" << oendl; + odebug << "Compose Mail" << oendl; slotwriteMail(0l,0l); } void OpieMail::slotSendQueued() { - odebug << "Send Queued" << oendl; + odebug << "Send Queued" << oendl; SMTPaccount *smtp = 0; QList<Account> list = settings->getAccounts(); QList<SMTPaccount> smtpList; smtpList.setAutoDelete(false); Account *it; @@ -120,24 +134,24 @@ void OpieMail::slotSendQueued() delete wrap; } } void OpieMail::slotSearchMails() { - odebug << "Search Mails" << oendl; + odebug << "Search Mails" << oendl; } void OpieMail::slotEditSettings() { SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp ); QPEApplication::execDialog( &settingsDialog ); } void OpieMail::slotEditAccounts() { - odebug << "Edit Accounts" << oendl; + odebug << "Edit Accounts" << oendl; EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp ); eaDialog.slotAdjustColumns(); QPEApplication::execDialog( &eaDialog ); if ( settings ) delete settings; settings = new Settings(); @@ -180,13 +194,13 @@ void OpieMail::slotDeleteMail() void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) { if (!mailView->currentItem()) return; MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); /* just the RIGHT button - or hold on pda */ if (button!=2) {return;} - odebug << "Event right/hold" << oendl; + odebug << "Event right/hold" << oendl; if (!item) return; QPopupMenu *m = new QPopupMenu(0); if (m) { if (mailtype==MAILLIB::A_NNTP) { m->insertItem(tr("Read this posting"),this,SLOT(displayMail())); @@ -204,21 +218,21 @@ void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) delete m; } } void OpieMail::slotShowFolders( bool show ) { - odebug << "Show Folders" << oendl; + odebug << "Show Folders" << oendl; if ( show && folderView->isHidden() ) { - odebug << "-> showing" << oendl; + odebug << "-> showing" << oendl; folderView->show(); } else if ( !show && !folderView->isHidden() ) { - odebug << "-> hiding" << oendl; + odebug << "-> hiding" << oendl; folderView->hide(); } } void OpieMail::refreshMailView(const QValueList<RecMailP>&list) { diff --git a/noncore/net/mail/opiemail.h b/noncore/net/mail/opiemail.h index b93bd60..3d25b3d 100644 --- a/noncore/net/mail/opiemail.h +++ b/noncore/net/mail/opiemail.h @@ -31,12 +31,15 @@ protected slots: virtual void slotShowFolders( bool show ); virtual void refreshMailView(const QValueList<RecMailP>&); virtual void mailLeftClicked( int, QListViewItem *,const QPoint&,int ); virtual void slotMoveCopyMail(); virtual void reEditMail(); +protected: + void setup_signalblocking(); + private: Settings *settings; }; #endif |