Community
Participate
Working Groups
When trying to run any snippet that includes Shell with GTK+ 3 this error occur: (SWT:15686): Gtk-CRITICAL **: gtk_scrollable_get_vscroll_policy: assertion `GTK_IS_SCROLLABLE (scrollable)' failed Cause of this error is Shell.forceResize(width,height) line 946: OS.gtk_widget_size_allocate (vboxHandle, allocation); To reproduce I used Helloworld2.java.
One more place where this error is triggered is Shell.setVisible(visible) line 2102: OS.gtk_widget_show (shellHandle);
(In reply to comment #1) > One more place where this error is triggered is Shell.setVisible(visible) > line 2102: > > OS.gtk_widget_show (shellHandle); Also same error persist when you move, resize shell.
This is happening because we add a GtkFixed to a GtkScrolledWindow. In GTK 3, we can only added a GtkScrollable. There is a bigger problem with our uses of GtkFixed. Composite.moveAbove() and Composite.moveBelow() expects to access the children field of GtkFixed so that it can change the Z-order. This field is not public anymore and there is no way to get a hold of it. To solve the first problem, we could use GtkLayout instead of GtkFixed, but GtkLayout also hides its children field. I see no way around this other than having our own implementation of GtkScrollable. I have a fix ready below. I will push to master when M3 is done. Eclipse is running much better with all the fix in that branch. http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?h=silenio/Bug389910&id=28693b715394e6d7185e331f748190abf197da68
*** Bug 393351 has been marked as a duplicate of this bug. ***
Pushed to master.