Package: lazarus-0.9.30.2 Version: 0.9.30.2 When Lazarus in installed on system with glib >= 2.31 it freezes when start. It is caused by changes in thread implementation in glib.
Patch developed by Zeljan Rikalo fixed the bug. Original bug report is here: http://bugs.freepascal.org/view.php?id=21129 This also affects all programs compiled in Lazarus. After you patch it, please also rebuild all packages depending on it. Thank you! Regards Petr
--- trunk/lcl/interfaces/gtk2/gtk2widgetset.inc 2012/01/07 17:12:12 34639 +++ trunk/lcl/interfaces/gtk2/gtk2widgetset.inc 2012/01/31 07:12:20 35051 @@ -1479,8 +1479,10 @@ if GetThreadManager(TM) and Assigned(TM.InitManager) and g_thread_supported then begin g_thread_init(nil); + {$IFDEF USE_GTK_MAIN_OLD_ITERATION} gdk_threads_init; gdk_threads_enter; + {$ENDIF} fMultiThreadingEnabled := True; end; {$ELSE} @@ -1847,7 +1849,9 @@ if MultiThreadingEnabled then begin {$IFNDEF Win32} + {$IFDEF USE_GTK_MAIN_OLD_ITERATION} gdk_threads_leave; + {$ENDIF} {$ENDIF} fMultiThreadingEnabled := False; end;