Bug 1323598

Summary: Cura has lots of repaint issues in the GUI
Product: [Fedora] Fedora Reporter: Tuomas Kuosmanen <tigert>
Component: wxGTK3Assignee: Scott Talbert <swt>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: alexjnewt, dan, mhroncok, neteler, rakesh.pandit, swt
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: wxGTK3-3.0.2-19.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-12 09:40:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
screenshot none

Description Tuomas Kuosmanen 2016-04-04 08:07:08 UTC
Description of problem: Cura has a lot of repaint issues on Fedora 24, lots of gtk errors on console and the widget sizes get messed up.

I was wondering if the new version of GNOME shell would cause something, but the same happens also with WindowMaker (ha, blast from the past!).


Version-Release number of selected component (if applicable): cura-15.04.4-3.fc24.noarch


How reproducible: always


Steps to Reproduce:
1. open cura
2. see console and how the viewport has issues when you resize window

Additional info:

Console shows a lot of these:

(cura:6018): Gtk-WARNING **: Allocating size to wxPizza 0x55f955e03710 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to wxPizza 0x55f955e03870 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to wxPizza 0x55f956f45440 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to GtkNotebook 0x55f955718510 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to wxPizza 0x55f956f45860 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to GtkLabel 0x55f956a1cae0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to GtkSeparator 0x55f956a870f0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

(cura:6018): Gtk-WARNING **: Allocating size to wxPizza 0x55f956f45b20 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

Comment 1 Tuomas Kuosmanen 2016-04-04 08:08:07 UTC
Created attachment 1143250 [details]
screenshot

Comment 2 Miro Hrončok 2016-04-04 11:56:46 UTC
Does this happen with cura-lulzbot as well?

Comment 3 Miro Hrončok 2016-04-04 12:00:36 UTC
See this (from Eclipse) for a possible way of fixing this:

http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=0cc28848a42b0c7116a7152ca9afae53c20146ef

Comment 4 Miro Hrončok 2016-04-04 12:06:06 UTC
Might this be a wxPython bug? Because cura does not use gtk_widget_size_allocate directly. Does this happen with other wxPython apps, such as Pronterface?

Comment 5 Tuomas Kuosmanen 2016-04-04 13:21:30 UTC
It is a wxPython issue.

Happens with cura-lulzbot, as well as "grass70" (a geospatial tool I found via repoquery that also uses wxPython) - same widget size allocation issues and redraw problems there as well.

Cura-lulzbot had a bonus coredump on startup by the way. but that might be another bug.

The issue actually does happen also when installing wxPython-docs and running any of the examples, for example:

  python /usr/share/doc/wxPython-docs/samples/pydocview/PyDocViewDemo.py 

You have to keep resizing the window to get it to repaint the contents correctly.

Comment 6 Scott Talbert 2016-04-04 13:33:51 UTC
Are you using Wayland or X?

Comment 7 Scott Talbert 2016-04-05 01:51:46 UTC
Actually looks to be a wxGTK3 issue.  It looks like spot submitted a fix already.  Can you check this build whether this build resolves the issue?  It looks much better on Rawhide.
http://koji.fedoraproject.org/koji/buildinfo?buildID=751028

Comment 8 Tuomas Kuosmanen 2016-04-05 10:23:22 UTC
Yeah the above build seems to solve the problem! Sweet!

Comment 9 Fedora Update System 2016-04-05 16:00:11 UTC
wxGTK3-3.0.2-19.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-fd1cffe48b

Comment 10 Fedora Update System 2016-04-06 17:53:53 UTC
wxGTK3-3.0.2-19.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-fd1cffe48b

Comment 11 Fedora Update System 2016-04-12 09:40:43 UTC
wxGTK3-3.0.2-19.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 markusN 2016-08-05 13:24:36 UTC
After updating to F24, I get lots of such issues with wxPython-3.0.2.0-10.fc24.x86_64 in GRASS GIS

(upstream report https://trac.osgeo.org/grass/ticket/3117, they suggested to report here)

# at startup of a wx window: tons of these warnings
(main.py:6274): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkCheckButton
...

# when doing window resize: tons of these warnings
(main.py:6274): Gtk-WARNING **: Allocating size to wxPizza 0x558b2ed9d9a0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

This pollutes the terminal a lot...

Comment 13 Scott Talbert 2016-08-05 15:19:28 UTC
Probably open a new bug against wxPython and I'll take a look at it..  This particular issue is believed to be resolved.