No elegant solution could be found to get the desired behaviour when using an event controller to handle button press events. The native handler had to be suppressed when required using another handler and a flag.
The problem seems to be that returning true from the old-type signal handler does not stop DnD happening (and suppresses native handling) whereas setting the eventcontroller state to "CLAIMED" stops DnD as well and not setting it allows the native handler to run.
Using Signal.stop_emission_by_name () was tried but I couldn't get it to work.
This hopefully should not be necessary after porting to Gtk4 and using Gtk4 DnD infrastructure.
Fixes #2419
No elegant solution could be found to get the desired behaviour when using an event controller to handle button press events. The native handler had to be suppressed when required using another handler and a flag.
The problem seems to be that returning
true
from the old-type signal handler does not stop DnD happening (and suppresses native handling) whereas setting the eventcontroller state to "CLAIMED" stops DnD as well and not setting it allows the native handler to run.Using Signal.stop_emission_by_name () was tried but I couldn't get it to work.
This hopefully should not be necessary after porting to Gtk4 and using Gtk4 DnD infrastructure.