Martin Vermeer wrote:
No, I actually don't think so.

Do they have _anything_ in common? All I can think of is

1) they are all handled asynchronously, through
signals/slots, and
2) they are represented by LFUNs.

But I don't see how that gives a single point of control. Or does it?
How?

What I fail to understand is how such thinks can be invoked during an update.

LyX is a single-threaded application, and LyX will not interrupt itself, except through the GUI. I assume that Qt will not send random signals just because we draw something on the screen.

Of course, a signal from the operating system can happen, such as when a child dies or something like that, and that might interrupt ourselves. But we should handle that gracefully by just noting that we need to handle that later. But normal keyboard and mouse actions should NOT interrupt the LyX code in any way.

The only way that can happen is if we call process events ourselves - that is asking the GUI toolkit to actually send signals and events for us to handle.

Regarding LFUNs: If the LyX code itself decides to send LFUNs while updating, it is shooting itself in the foot. It should never do that, and I do not think it does.

So, unless you can proove otherwise, I do believe it is this simple.

Regards,
Asger

Reply via email to