[Lazarus] GTK2 threading

Anton Kavalenka anton.k at tut.by
Tue Jan 22 19:04:43 CET 2013


On 22.01.2013 20:56, zeljko wrote:
> On Tuesday 22 of January 2013 18:52:31 Anton Kavalenka wrote:
>> Dear Lazarus developers!
>>
>> I'm examining the problem disturbing me for years.
>>
>> GTK2 applications provide thread-safety using internal mutexes passed
>> through gdk_thread_init()
>> And it works.
>>
>> Pure X-Applcation does so (orders X-messages per-thread) using
>> XInitThreads at early start of application.
>> And it also works
>>
>> But GTK Widgetset uses pure Xlib calls for determining keyboard states.
>> Xlib thread-safety is not initialized in GTK2 widgetset.
>>
>> IMO the problem half-way to resolve - either not use Xlib calls (pure
>> GTK2,3 - it is threadsafe) or make GTK and Xlib interoperable.
>> Or block GTK calls until Xlib call returned.
> Feel free to provide patch.
>
> zeljko
I'd like to, but i'm not a great expert in X - so i've subscribed to the 
list to discuss.

using XinitThreads at start of the program blocks GTK painting.
Forms are shown, but no text output.

So - no way to alter XLib internals. The only way - to initialize GTK 
threading in a way compatibel with X.

regards,
Anton

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20130122/d6089415/attachment-0003.html>


More information about the Lazarus mailing list