author | sandman <sandman> | 2002-08-28 23:18:58 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-08-28 23:18:58 (UTC) |
commit | 178bd471d12a88862fb4ac1a17842ea0fd63c160 (patch) (side-by-side diff) | |
tree | c37b10465eca3b6c2431b7999fe32eb4692f12ee /core/applets/clipboardapplet | |
parent | 186bdeb08c0d9ccd78177310cf9f69ea80b76a96 (diff) | |
download | opie-178bd471d12a88862fb4ac1a17842ea0fd63c160.zip opie-178bd471d12a88862fb4ac1a17842ea0fd63c160.tar.gz opie-178bd471d12a88862fb4ac1a17842ea0fd63c160.tar.bz2 |
Workaround for a possible race condition in the QWS server (mostly OZ)
(clipboard handling in Qt/E is a mess)
Diffstat (limited to 'core/applets/clipboardapplet') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/applets/clipboardapplet/clipboard.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/core/applets/clipboardapplet/clipboard.cpp b/core/applets/clipboardapplet/clipboard.cpp index 4fbdf6f..3099a84 100644 --- a/core/applets/clipboardapplet/clipboard.cpp +++ b/core/applets/clipboardapplet/clipboard.cpp @@ -128,11 +128,11 @@ ClipboardApplet::ClipboardApplet( QWidget *parent, const char *name ) : QWidget( connect ( m_timer, SIGNAL( timeout ( )), this, SLOT( newData ( ))); connect ( qApp, SIGNAL( aboutToQuit ( )), this, SLOT( shutdown ( ))); - m_timer-> start ( 1500 ); - m_menu = 0; m_dirty = true; m_lasttext = QString::null; + + m_timer-> start ( 0, true ); } ClipboardApplet::~ClipboardApplet ( ) @@ -228,6 +228,15 @@ void ClipboardApplet::paintEvent ( QPaintEvent* ) void ClipboardApplet::newData ( ) { + static bool excllock = false; + + if ( excllock ) + return; + else + excllock = true; + + m_timer-> stop ( ); + QCString type = "plain"; QString txt = QApplication::clipboard ( )-> text ( type ); @@ -239,4 +248,8 @@ void ClipboardApplet::newData ( ) m_dirty = true; } + + m_timer-> start ( 1500, true ); + + excllock = false; } |