On 28 March 2011 11:31, Matthew Brush mbrush@codebrainz.ca wrote:
On 03/27/11 09:11, Colomban Wendling wrote:
We need a better fix then. Maybe you can try to find out why the X clipboard get broken on Scintilla (and fix it :D). If it get fixed, we will probably can re-apply the patch.
I spent a lot of time studying the Scintilla source and trying various things there and in splitwindow.c. I don't see anywhere that Scintilla is breaking the PRIMARY selection. It seems to become the owner of the PRIMARY selection in ScintillaGTK::ClaimSelection() whenever text is selected, but I can't figure for life of me why it it's not working. It seems like it should own the PRIMARY selection in each widget where you're selecting text. Even setting the owner of the primary selection manually to the "original" scintilla, it still locks into the "split" scintilla.
So after spending way too much time on this, and getting nowhere, I give up. I'm attaching a patch that no dev is going to like because it behaves differently on Windows than it does on non-Windows to work around a know issue in GTK+ that is not documented to affect Windows differently than X windows. Either someone else needs to find the root of the problem deep inside GTK+ (ie. why it reparenting only breaks on Windows), we figure out what's happening in Scintilla, we use the slightly hacky approach of behaving differently on Windows, or we just leave the whole plugin stay disable and let the Windows users not have it, even though we *can* make it working. Since it's just a plugin, completely separate from the core code, which is already kinda hacky with what it's doing, my opinion is just to use the patch.
It's not my call, but the patch is here if you want it.
I only had a short time at lunch to look, but I noticed that Scintilla GTK selection code depends on USE_GTK_CLIPBOARD defined or not. I can't find where its defined so I presume its not. Maybe try with it defined?
Cheers Lex
Cheers, Matthew Brush
Geany-devel mailing list Geany-devel@uvena.de https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel