From kde-commits Thu Jan 15 09:31:53 2004 From: =?utf-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Thu, 15 Jan 2004 09:31:53 +0000 To: kde-commits Subject: kdelibs/kwallet/client Message-Id: <20040115093153.6A6C72509 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=107416002706231 CVS commit by lunakl: Make the DCOP call for opening a wallet blocking again, and close any open popup menus for #65978/#71048. M +7 -8 kwallet.cc 1.44 --- kdelibs/kwallet/client/kwallet.cc #1.43:1.44 @@ -25,4 +25,6 @@ #include #include +#include +#include #include @@ -166,14 +168,11 @@ Wallet *Wallet::openWallet(const QString } + // avoid deadlock if the app has some popup open (#65978/#71048) + while( QWidget* widget = qApp->activePopupWidget()) + widget->close(); + bool isPath = ot == Path; DCOPReply r; -#if KDE_IS_VERSION(3,1,90) - if (isPath) { - r = DCOPRef("kded", "kwalletd").callExt("openPath", DCOPRef::UseEventLoop, -1, name, uint(w)); - } else { - r = DCOPRef("kded", "kwalletd").callExt("open", DCOPRef::UseEventLoop, -1, name, uint(w)); - } -#else if (isPath) { r = DCOPRef("kded", "kwalletd").call("openPath", name, uint(w)); @@ -181,5 +180,5 @@ Wallet *Wallet::openWallet(const QString r = DCOPRef("kded", "kwalletd").call("open", name, uint(w)); } -#endif + if (r.isValid()) { int drc = -1;