summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2014-04-07 06:01:23 +0000
committerTimothy Pearson <[email protected]>2014-04-07 06:01:23 +0000
commit6a9c2a6cac33ccffea2a4989782e299c121ce518 (patch)
treed85cad23f4cc695688c8e540fafcf7d86c9653de
parentd4181009884b7ec06880a2335e95e6e355c89c93 (diff)
downloadtdebase-6a9c2a6cac33ccffea2a4989782e299c121ce518.tar.gz
tdebase-6a9c2a6cac33ccffea2a4989782e299c121ce518.zip
Work around hang on popup menu opening in non-local directory in Konqueror
-rw-r--r--libkonq/konq_popupmenu.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libkonq/konq_popupmenu.cc b/libkonq/konq_popupmenu.cc
index e5b807327..b2abc9279 100644
--- a/libkonq/konq_popupmenu.cc
+++ b/libkonq/konq_popupmenu.cc
@@ -423,14 +423,15 @@ void KonqPopupMenu::setup(KonqPopupFlags kpf)
// If a local path is available, monitor that instead of the given remote URL...
KURL realURL = m_sViewURL;
if (!realURL.isLocalFile()) {
+ d->localURLSlotFired = false;
TDEIO::LocalURLJob* localURLJob = TDEIO::localURL(m_sViewURL);
if (localURLJob) {
connect(localURLJob, TQT_SIGNAL(localURL(TDEIO::LocalURLJob*, const KURL&, bool)), this, TQT_SLOT(slotLocalURL(TDEIO::LocalURLJob*, const KURL&, bool)));
connect(localURLJob, TQT_SIGNAL(destroyed()), this, TQT_SLOT(slotLocalURLKIODestroyed()));
- d->localURLSlotFired = false;
+//printf("[RAJA DEBUG 600.0] Waiting for result... %p\n\r", this); fflush(stdout);
while (!d->localURLSlotFired) {
+ usleep(100);
tqApp->eventLoop()->processEvents(TQEventLoop::ExcludeUserInput);
- usleep(1000);
}
if (d->localURLResultIsLocal) {
realURL = d->localURLResultURL;
@@ -1228,6 +1229,7 @@ KURL::List KonqPopupMenu::popupURLList() const
void KonqPopupMenu::slotLocalURL(TDEIO::LocalURLJob *job, const KURL& url, bool isLocal)
{
+//printf("[RAJA DEBUG 600.1] In KonqPopupMenu::slotLocalURL %p\n\r", this); fflush(stdout);
d->localURLSlotFired = true;
d->localURLResultURL = url;
d->localURLResultIsLocal = isLocal;
@@ -1235,6 +1237,7 @@ void KonqPopupMenu::slotLocalURL(TDEIO::LocalURLJob *job, const KURL& url, bool
void KonqPopupMenu::slotLocalURLKIODestroyed()
{
+//printf("[RAJA DEBUG 600.2] In KonqPopupMenu::slotLocalURLKIODestroyed %p\n\r", this); fflush(stdout);
if (!d->localURLSlotFired) {
d->localURLSlotFired = true;
d->localURLResultURL = KURL();