[Gambas-user] Issue 123 in gambas: GUI dependencies in library projects not exposing any gui dependency

gambas at ...2524... gambas at ...2524...
Tue Oct 4 03:30:22 CEST 2011


Status: New
Owner: ----
Labels: Version Type-Bug Priority-Medium OpSys-Any Dist-Any Arch-Any  
Desktop-Any GUI-Any

New issue 123 by adamn... at ...626...: GUI dependencies in library projects  
not exposing any gui dependency
http://code.google.com/p/gambas/issues/detail?id=123

1) Describe the problem.

The GUI library that was used when developing and testing a library project  
is carried over into the library executable even if no exported part of the  
library uses any gui elements.
So if a library developer uses say gb.gtk instead of gb.gui in  
a "non-exposed" form to test the library, the dependency on gb.gtk is  
carried over into the library executable.  This is contrary to what the  
help says:
-----------
The components that you select in the "Components" tab of the property  
dialog have nothing to do with the components you specify in the "Requires"  
tab.
They are only used when you run the component project from the IDE for  
debugging purpose.
-----------

2) GIVE THE FOLLOWING INFORMATIONS (if they are appropriate):

Version: TRUNK
Revision: r4163
Operating system: Linux
Distribution: mine
Architecture: x86
GUI component: QT4 / GTK+  and gb.GUI
Desktop used: LXDE

3) Provide a little project that reproduces the bug or the crash.
I have attached an archive containing a demo project and three libraries.   
Thee only difference between each of the libraries is the gui component  
that the test form uses.

4) If your project needs a database, try to provide it, or part of it.
N/A

5) Explain clearly how to reproduce the bug or the crash.
(This is a bit involved, if the fault is evident the process does not need  
to be followed to completion).
a) Unpack each of the projects contained in the attached archive.
b) Make executable on each of the *lib projects
c) in the debug_qtvsgtk project
    1 check it is using guilib.gambas as the library and it is using the  
gb.gui component
    2 run it, it should show the "Hello World" form.
    3 change the environment and add GB_GUI=gb.gtk and re-run ==> works
    4 change the environment to GB_GUI=gb.qt4 and re-run ==> works
    5 remove the GB_GUI from the environment
    6 remove the guilib library and add the gtklib library
    7 re-run ==> works
    8 add GB_GUI=gb.gtk to the environment and re-run ==> works
    9 change to GB_GUI=gb.qt4 and re-run ==> FAILS - displays a message  
about >Desktop.Charset being incorrectly overridden
    10 remove the GB_GUI from the environment
    11 remove the gtklib library and add the qtlib library
    12 re-run ==> FAILS - I cannot catch the message
    13 add GB_GUI=gb.qt4 to the environment and re-run ==> works
    14 change to GB_GUI=gb.gtk and re-run ==> FAILS - again I cannot catch  
the message.

There is a similar effect with a different symptom if the debug_qtvsgtk  
project is set to use a specific gui component, e.g. gb.qt4 and the library  
is "mismatched".

Remember, the issue is that nothing exposed by the libraries uses any gui  
element, it's all in the test form used by the library developer.

cheers
Bruce



Attachments:
	guilibs.tar.gz  24.5 KB





More information about the User mailing list