call for help,

currently the copy/paste mechanism of primary selection doesn't
work for me when more lyx instances is launched.

since i had problem to get confirmed this problem under different archs
(some desktop managers use managers like klipper etc) i tried
to debug what is going on now.

there is a difference what is happening for single/two instances of running
lyx, but i fail to see where is the culprit (output of newly debug level 
'selection'):

  1. select few characters by mouse
  2. paste them into another application

a) single instance case: 
------------------------
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 0
GuiSelection.cpp(84): GuiSelection::put: ssss

b) two instances
----------------
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1
GuiSelection.cpp(84): GuiSelection::put: s
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1

and many identical follow - all these messages appear during just by the mouse
selection of one single char 's' in point 1.

for point 2 i got just single
GuiApplication.cpp(1446): X requested selection.
BufferView.cpp(1491): requestSelection: xsel_cache.set: 1


two questions :
1. i dont understand why we get those milions X requests only in case
   we run two instances.
   this point could also explain some hard to catch bugs with slow performance
   because this X request appear only in this way.

2. i don't clearly understand the purpose BufferView::xsel_cache and
   there is no commentary in the code. i have just found we use some dirty
   tricks with selection for performance reasons, but still don't understand
   the whole machinery. but its clear that the working case have xsel_cache.set
   bit == 0.

can anybody please comment on?

thanks,
pavel
   

Reply via email to