John Levon <[EMAIL PROTECTED]> writes: | On Mon, Mar 18, 2002 at 07:08:05PM +0100, Lars Gullik Bjønnes wrote: > >> Running with and without the Klipper utlitity makes all the difference >> here. > | d'oh, of course. Damned Klipper. > | OK, so we should cache the last selectionAsString perhaps ? Or refuse to | do something past a certain selection size ? > | This is my bug, so I'll fix it, but I'd like some suggestions on the | best thing to do here.
You do realize that by fixing this, you essentially get what we had before the new selection handling code? btw. from where and how is the XSetSelectionOwner done? IMHO Klipper should only ask once unless the timestamp changes.... I wonder: void WorkArea::haveSelection(bool yes) const { if (!yes) { XSetSelectionOwner(fl_get_display(), XA_PRIMARY, None, CurrentTime); return; } XSetSelectionOwner(fl_get_display(), XA_PRIMARY, FL_ObjWin(work_area), CurrentTime); } how often is haveSelection run? Perhaps it would be better to do this in another way... (btw. yes as a variable name is just horrible !yes == no o' the joy) Is the problem really that we call haveSelection way to often? On every cursor blink perhaps? -- Lgb