Re: Handling Qt/KDE widgets within Gtk+ message loop



Dmitry M. Shatrov wrote:
[...]
Given that I'd like to ask:
1) Should I deeply mix Qt and Gtk+ main loops so that all of the
functionality is implemented? e.g. gtk's 'init' and 'quit' functions
that are queued and executed in gtk_main etc. Are things such as timeout
handling and ability to insert additional GSources critical for plain
Gtk+ programs?

My gut tells me that you need to handle all event sources all the time
if you want the program to function properly.

2) If the whole X Window freezes, couldn't it be an XEmbed
implementation issue?

The whole window or the whole server ?

An application is responsable for updating the graphics of X windows;
i.e. expose events are sent to clients so that clients can draw to
the X window, usualy these expose handlers just send commands to the
X server to copy regions from offscreen pixmaps in server memory.

So that means that if the application responsable for updating the
X window hangs, then the X window wont get updated (you'll get WM
decorations and a black or tiled background if your lucky)

While that doesn't mean that its not an XEmbed issue, I'm moved
to point to the augmented chances of application hangs when combining
main loops, is it possible that the slave loop never returns in some
cases ?

3) I saw strange 'Bad Window' errors in X console at one moment (then
they disappeared and I cannot reproduce it). So could it be some
synchronization isuue? Could Xlib be confused if I use two different
toolkits from the same process/thread?

I dont see why one application shouldn't be allowed to have multiple
connections to the server, they communicate on seperate sockets
and should be regarded as two clients. A real X guru could tell you
more.

4) It is theoretically possible to make things work, is it?

IMO This project seems highly experimental, begs for disaster and
laughs in the face of reason, in other words; I love the idea
and wish you the best of luck in your noble cause :)

Cheers,
                                      -Tristan




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]