[Geany-Devel] Order of plugin signal connections
Matthew Brush
mbrush at xxxxx
Fri May 15 05:25:50 UTC 2020
On 2020-05-14 10:18 p.m., Austin Green wrote:
> @Matthew:
>> Further to my previous message, you might also inspect the existing
>> plugins which are blocking GTK+ signals and see why they're doing that,
>> whether on purpose or on accident, and possible ways they can not do that.
>
> They block the key-press-event signal merely by binding to a key. Geany, in its handling of key-press-event, checks for a key binding that matches, and if found, calls the callback and then prevents the event from going any further (by returning TRUE). If it didn't, any plugin could receive the same events and assign its own action to the key, and chaos would no doubt be the result.
>
Just to be clear, you are talking about this:
https://github.com/geany/geany-plugins/blob/062865e3b57a3baa882f69e4f3bc291278c200e4/keyrecord/src/keyrecord.c#L99
and depending on the order the plugins connect to same signal as well as
whether or not they return `TRUE` from their signal handler, there's no
guarantee the `keyrecord` plugin gets too see all
`ScintillaObject::key-press-event` signal emissions?
Regards,
Matthew Brush
More information about the Devel
mailing list