unixwork / xnedit

A fast and classic X11 text editor, based on NEdit, with full unicode support and antialiased text rendering.
Other
83 stars 11 forks source link

Selection is deselected #117

Open cblc opened 1 year ago

cblc commented 1 year ago

Not sure what's going on, but this has happened to me three times now. It was always while using the Search&Replace dialog, and I think it was after pasting text in the "String to Find" or "Replace With" fields.

After the issue happens, then whenever you select text, you see the selection for a fraction of a second, and then it becomes unselected. It happens for every type of selection (manual selection, Find, Replace, and even with selections created with macros).

Because of this, it's not possible to copy/paste, nor to do anything with selections after the issue is triggered.

Quitting XNEdit and starting it again is the only "fix" I found so far.

Any idea of what might go on? Could it be a XQuartz problem?

unixwork commented 1 year ago

Haven't experienced this bug on Linux or FreeBSD. On macOS with XQuartz, I can't even paste text into the search/replace dialog for some reason. I will look into this further.

unixwork commented 11 months ago

I did some more testing but couldn't reproduce the bug. I guess it is an XQuartz problem.

Maybe you can fix this problem by adding -DXNE_TEXTFIELD to your CFLAGS. This replaces the motif textfields in the search & replace dialog with a more unicode capable textfield, and maybe this new textfield doesn't trigger the bug.

cblc commented 11 months ago

Thank you for the idea! Will try it in my next build.

cblc commented 5 months ago

I have not hit anymore this after months of use, and I even didn't rebuild it with '-DXNE_TEXTFIELD'. I'm going to build now the current source, with the addition of filters I/O, and I won't be using '-DXNE_TEXTFIELD' either (but I'll disable multicursor, for my peace of mind, because it has sometimes created problems in the sources I was editing). I'll keep an eye to see if this issue arises again or not.