I've just locally disabled any reaction to SelectionClear events in GuiApplication::x11EventFilter(). I don't see any ill effects, and it obviously makes the bug go away. Do we want X clearing the selection for us, anyway? Who's the X expert around here?
Here's the patch for reference: Index: GuiApplication.cpp =================================================================== --- GuiApplication.cpp (revision 19390) +++ GuiApplication.cpp (working copy) @@ -321,10 +321,9 @@ if (!currentView()) return false; - switch (xev->type) { - case SelectionRequest: { + if (xev->type == SelectionRequest) { if (xev->xselectionrequest.selection != XA_PRIMARY) - break; + return false; LYXERR(Debug::GUI) << "X requested selection." << endl; BufferView * bv = currentView()->view(); if (bv) { @@ -332,18 +331,7 @@ if (!sel.empty()) selection_.put(sel); } - break; } - case SelectionClear: { - if (xev->xselectionclear.selection != XA_PRIMARY) - break; - LYXERR(Debug::GUI) << "Lost selection." << endl; - BufferView * bv = currentView()->view(); - if (bv) - bv->clearSelection(); - break; - } - } return false; } #endif rh -- ================================================================== Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ ================================================================== Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto