Follow up to the FAQ about the GTK3 "freeze"
Well... it is and it isn't. There is a patch to improve the performance in the combox box use case. GTK3 is slower (and more advanced). the method to update the combo box was recalculating the size on each insert (rather than in one go). In both GTK2 and 3, the combo box is slow to load compared to a clean install. On GTK2, however, it's acceptable... and GTK3 is kind of whack. If this were a consumer facing application, the usability folk would shoot me in both cases.... But it's engineering tools, and well... yeah... we all know what that means. (I would have modified the interface to work around the performance issue entirely, though.)
This may be the bug, or may be related...
https://bugs.eclipse.org/bugs/show_bug.cgi?id=489640
"main" #1 prio=6 os_prio=0 cpu=49645.47ms elapsed=74.00s tid=0x00007fade0014000 nid=0x2050 runnable 0x00007fade71da000
java.lang.Thread.State: RUNNABLE
at org.eclipse.swt.internal.gtk.GTK._gtk_combo_box_text_remove_all(Native Method)
at org.eclipse.swt.internal.gtk.GTK.gtk_combo_box_text_remove_all(GTK.java:1580)
at org.eclipse.swt.widgets.Combo.removeAll(Combo.java:1813)
at org.eclipse.jface.viewers.ComboViewer.listRemoveAll(ComboViewer.java:153)
at org.eclipse.jface.viewers.AbstractListViewer.inputChanged(AbstractListViewer.java:320)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:286)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1684)
at fr.ac6.mcu.ide.ui.dialogs.targetdefinition.TargetChoiceControlAbstract.setTargetSet(TargetChoiceControlAbstract.java:186)
at fr.ac6.mcu.ide.ui.dialogs.targetdefinition.McuSelectionTabItemAbstract.updateMcuCandidateList(McuSelectionTabItemAbstract.java:144)
at fr.ac6.mcu.ide.ui.dialogs.targetdefinition.McuSelectionTabItemAbstract.updateControl(McuSelectionTabItemAbstract.java:201)
at fr.ac6.mcu.ide.ui.dialogs.targetdefinition.McuSelectionTabItemAbstract.access$0(McuSelectionTabItemAbstract.java:153)
at fr.ac6.mcu.ide.ui.dialogs.targetdefinition.McuSelectionTabItemAbstract$2.doOnFamilyUpdate(McuSelectionTabItemAbstract.java:101)
at fr.ac6.mcu.ide.ui.dialogs.targetdefinition.TargetChoiceControlAbstract$3.selectionChanged(TargetChoiceControlAbstract.java:93)