[Gambas-devel] Gambas module for QT embedded and stack overflow error deleting objects

Silvan Calarco silvan.calarco at ...531...
Thu Nov 9 14:01:52 CET 2006


Alle 22:39, mercoledì 8 novembre 2006, Benoit Minisini ha scritto:
> Some things I don't understand:
>
> - Aren't QT/Embedded libraries and includes different from the QT ones?

There are some big internal differences (for instance the code for handling 
fonts), but most of the interfaces to the applications (API) are the same 
because of the portability feature of Qt's.

> - Shouldn't you remove the TrayIcon, Embedder and all other X11-specific
> classes

mmmm, yes. The reason they were not removed yet is that these functionalities 
for some reason don't need linking to any X library, but they should be 
removed or handled transparently on Qte. The use of CTrayIcon could be left 
(well slightly modified) and documented as: "this class does nothing on Qt 
Embedded, but exists to allow simpler code portability between X11 and 
Framebuffer".

> - Don't you have windows on QT/Embedded? Don't you have equivalents of X11
> properties, like above others windows, below others windows...?

When you work on Qt/X11, Qt is the graphic toolkit and X is the graphical 
server. When you work on Qt/Embedded the libraries also perform as a window 
server (the so called qws: the Framebuffer central server). I've seen that 
the qwsproperty_qws.h include has some functions to get and set windows 
property so we might use these to replace X11 properties.
Actually I've been stuck on the stack overflow error (I'm going to try your 
patch, thanks!), and now I'll be back testing the gb.qte module. I think that 
in this development stage we might apply these patches issuing a warning when 
an unhandled function is called by the gambas application like this:

#ifndef X_DISPLAY_MISSING
  X11_window_change_property(w->winId(), w->isVisible(), property, set);
#else
  qDebug("CWINDOW_change_property called but not handled");
#endif

so we have a remainder of what we have to fix if an X11 app behaviour isn't 
correct when ported to Framebuffer. Testing the gb.qte module is easy using 
qvfb and gambas ide, so it should be easy to test many applications 
compatibility.

>
> Regards,

Cheers,
Silvan

-- 
mambaSoft di Silvan Calarco - http://www.mambasoft.it




More information about the Devel mailing list