On Fri, Sep 30, 2022 at 10:04:27AM +0100, Daniel P. Berrangé wrote:
As an idea to debug it more, try using the GTK inspector
$ GTK_DEBUG=interactive <app binary>
this will popup a second window, which lets you browse the
widget hierarchy, view properties, etc. This might let you
see something that's set in an incorrect way.
For future reference, inside the virt-p2v ISO environment I logged in
as root/p2v and edited /usr/bin/launch-virt-p2v, changing:
- exec /usr/bin/virt-p2v --iso --colours
+ exec bash -c 'GTK_DEBUG=interactive /usr/bin/virt-p2v --iso --colours'
I then ran launch-virt-p2v from the text console. This starts X11 and
does launches virt-p2v & the separate inspector window.
If you look at the attached screenshot, the inspector window (lower)
has the GtkSpinner widget in blue. The widget name is greyed out
which makes it hard to read. I guess that corresponds to the spinner
being hidden.
If you click Test Connection then the widget name becomes visible,
probably corresponding to the idle task being run and calling
start_spinner which shows the widget. (The spinner itself still does
not show up or "spin").
When Test connection finishes, the widget name again goes back to
being greyed out, probably corresponding to stop_spinner being called.
A few other notes:
The GtkLabel below the blue bar in the screenshot is the spinner
message. This is being displayed and updated properly.
If you click to the right of the "Style Classes" column in the
inspector, then the widget or box is flashed in blue briefly. When
GtkSpinner is inactive nothing happens. BUT (and it is difficult to
do the mouse gymnastics here) if you click "Test Connection" and while
that is running click to the right of the GtkSpinner, it does
highlight a small blue box (displaying nothing) to the left of the
spinner message. So it seems that the spinner widget is occupying the
expected place on the screen, even if it's not displaying anything.
Clicking the second button along the top row of the inspector shows
details of the spinner. There's a lot of stuff here. For example
under "CSS nodes" I can see the -gtk-icon-transform CSS changing to
"rotate(XXX)" (with "XXX" rapidly increasing) as the spinner is
supposed to be animating, but again no animation is shown.
Under "Visual" there are various buttons. If you enable "Show Graphic
Updates" then the GtkSpinner widget space flashes in red (again the
spinner itself does not display), so it seems to indicate that Gtk
"knows" that the spinner should be updating even if for some reason it
doesn't get rendered.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW