After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 719698 - Fix animations on the calibration UI
Fix animations on the calibration UI
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Wacom
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Carlos Garnacho
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-12-02 16:51 UTC by Carlos Garnacho
Modified: 2013-12-16 12:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
wacom: Don't leave stray timelines on the calibration UI (3.07 KB, patch)
2013-12-02 16:57 UTC, Carlos Garnacho
committed Details | Review
wacom: Protect calibrator UI to spawn animations multiple times (1017 bytes, patch)
2013-12-02 16:57 UTC, Carlos Garnacho
committed Details | Review
wacom: Fix first animation of calibration UI (1.39 KB, patch)
2013-12-02 16:57 UTC, Carlos Garnacho
committed Details | Review

Description Carlos Garnacho 2013-12-02 16:51:35 UTC
The way the calibration UI deals with animations has several inconsistencies, which makes some of those animations to be initiated multiple times, leak and/or crash (the latter if the dialog gets destroyed early enough)

I'm attaching a few patches to improve the way animations are done in the calibration UI
Comment 1 Carlos Garnacho 2013-12-02 16:57:34 UTC
Created attachment 263312 [details] [review]
wacom: Don't leave stray timelines on the calibration UI

Keep the reference for the error/helper messages animations in
the CalibArea struct, so those are destroyed and not leaked, or
possibly crashing when running on already destroyed actors if
the dialog gets cancelled at the right time.
Comment 2 Carlos Garnacho 2013-12-02 16:57:37 UTC
Created attachment 263313 [details] [review]
wacom: Protect calibrator UI to spawn animations multiple times

The window state may be updated more than once, so only initiate
the UI and animations when it's first called.
Comment 3 Carlos Garnacho 2013-12-02 16:57:41 UTC
Created attachment 263314 [details] [review]
wacom: Fix first animation of calibration UI

The "target" was seen moving from 0,0 to the first calibration
point, so 1) avoid target relayouts when the window is still
being positioned and 2) start the "target" actor as hidden so
it isn't seen moving from anywhere when first shown.
Comment 4 Bastien Nocera 2013-12-13 15:24:13 UTC
Review of attachment 263312 [details] [review]:

Looks good otherwise. For gnome-3-10 and master.

::: panels/wacom/calibrator/calibrator-gui.c
@@ +157,3 @@
 
+  if (area->error_msg_timeline)
+	  clutter_timeline_stop (CLUTTER_TIMELINE (area->error_msg_timeline));

indentation.

@@ +159,3 @@
+	  clutter_timeline_stop (CLUTTER_TIMELINE (area->error_msg_timeline));
+  if (area->helper_msg_timeline)
+	  clutter_timeline_stop (CLUTTER_TIMELINE (area->helper_msg_timeline));

ditto.

@@ +801,2 @@
   gtk_widget_destroy (area->window);
+

Whitespace change.
Comment 5 Bastien Nocera 2013-12-13 15:24:57 UTC
Review of attachment 263313 [details] [review]:

Looks good.
Comment 6 Bastien Nocera 2013-12-13 15:28:01 UTC
Review of attachment 263314 [details] [review]:

Looks good.
Comment 7 Carlos Garnacho 2013-12-16 11:59:53 UTC
Attachment 263312 [details] pushed as 911518d - wacom: Don't leave stray timelines on the calibration UI
Attachment 263313 [details] pushed as ee2afb9 - wacom: Protect calibrator UI to spawn animations multiple times
Attachment 263314 [details] pushed as c78e22b - wacom: Fix first animation of calibration UI