diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-04-07 06:01:23 +0000 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2014-04-07 06:01:23 +0000 |
commit | 6a9c2a6cac33ccffea2a4989782e299c121ce518 (patch) | |
tree | d85cad23f4cc695688c8e540fafcf7d86c9653de /libkonq | |
parent | d4181009884b7ec06880a2335e95e6e355c89c93 (diff) | |
download | tdebase-6a9c2a6cac33ccffea2a4989782e299c121ce518.tar.gz tdebase-6a9c2a6cac33ccffea2a4989782e299c121ce518.zip |
Work around hang on popup menu opening in non-local directory in Konqueror
Diffstat (limited to 'libkonq')
-rw-r--r-- | libkonq/konq_popupmenu.cc | 7 |
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(); |