Looks like running Qt before Felix and Felix in separate thread works good
enough :-)

Thanks for your help!

On Fri, Oct 9, 2009 at 10:22 PM, Clement Escoffier <
[email protected]> wrote:

>
> On 09.10.2009, at 21:54, Piotr Korzuszek wrote:
>
>  Are you sure? Because I'm just running Qt in start() without any error.
>>
>
> Well, it might be fuzzy and the event dispatcher (GUI Thread for Jambi)
> needs to be the main thread. I did that for Windows without a lot of issues,
> but on Mac it was terrible...
>
>
>> Anyway I have an idea: to use this
>>
>> http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.htmlto
>> run Qt init before Felix and then load other bundles, but I don't know
>> how to make them to access Qt classes yet :-), neither if this is really a
>> good idea.
>>
>
> That's what I did. Initializing QT. Starting Felix, Provisioning all the
> bundles, and calling exec.
>
>
> Regards,
>
> Clement
>
>
>
>> On Fri, Oct 9, 2009 at 9:39 PM, Clement Escoffier <
>> [email protected]> wrote:
>>
>>
>>> On 09.10.2009, at 21:29, Piotr Korzuszek wrote:
>>>
>>> Hi Clement, thanks for reply,
>>>
>>>>
>>>> Sorry, but I knew that already. The thing is that when I put
>>>> QApplication.init() and QApplication.exec() in bundle start() method
>>>> then
>>>> I
>>>> cannot do anything in Felix console after running that bundle, because
>>>> start() cannot return.
>>>>
>>>> I've tried to run QApplication.init() in Main thread and
>>>> QApplication.exec()
>>>> in other thread but this only results in this:
>>>> ---
>>>> QApplication::exec: Must be called from the main thread
>>>> ---
>>>>
>>>> Or maybe I misunderstood you?
>>>>
>>>>
>>> No, Felix does not start bundle in the main thread (it is absolutely not
>>> required). So, it will not work if you try to call such method in the
>>> start
>>> method of a bundle. It has to be in the main thread : i.e. initialized
>>> externally.
>>>
>>> Regards,
>>>
>>> Clement
>>>
>>>
>>>
>>>
>>>
>>>> On Fri, Oct 9, 2009 at 8:23 PM, Clement Escoffier <
>>>> [email protected]> wrote:
>>>>
>>>>
>>>>  On 09.10.2009, at 19:54, Piotr Korzuszek wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>>
>>>>>> I'm trying to make Qt and Felix work together. The problem is that
>>>>>> when
>>>>>> I
>>>>>> run the Qt main loop (QApplication.exec()) the main thread is locked
>>>>>> until
>>>>>> the GUI is closed (so Felix is too).
>>>>>>
>>>>>> I cannot put this in seperate thread because it complains to me about
>>>>>> not
>>>>>> being in the main thread. On the Qt forum developers motivates this
>>>>>> behavior
>>>>>> by Mac OS X GUI system that must be handled in the main thread.
>>>>>> Any ideas how to solve this?
>>>>>>
>>>>>>
>>>>>>  Hi,
>>>>>
>>>>> QTBambi has to be initialized in the main thread. So, the init method
>>>>> has
>>>>> to be called in the Main thread ( the thread executing the main
>>>>> method).
>>>>>
>>>>> However, on Mac, you must set the -XstartOnFirstThread to execute the
>>>>> main
>>>>> method in the Main thread.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Clement
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>> Pozdrawiam
>>>>>> Piotr Korzuszek
>>>>>>
>>>>>> [email protected]
>>>>>>
>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>>
>>>>>
>>>>>
>>>> --
>>>> Pozdrawiam
>>>> Piotr Korzuszek
>>>>
>>>> [email protected]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>>
>>
>> --
>> Pozdrawiam
>> Piotr Korzuszek
>>
>> [email protected]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Pozdrawiam
Piotr Korzuszek

[email protected]

Reply via email to