[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