diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 04834d36f..444ceba69 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -901,14 +901,6 @@ void clutter_main (void) { GMainLoop *loop; - CLUTTER_STATIC_TIMER (mainloop_timer, - NULL, /* no parent */ - "Mainloop", - "The time spent in the clutter mainloop", - 0 /* no application private data */); - - if (clutter_main_loop_level == 0) - CLUTTER_TIMER_START (uprof_get_mainloop_context (), mainloop_timer); if (!_clutter_context_is_initialized ()) { @@ -942,9 +934,6 @@ clutter_main (void) g_main_loop_unref (loop); clutter_main_loop_level--; - - if (clutter_main_loop_level == 0) - CLUTTER_TIMER_STOP (uprof_get_mainloop_context (), mainloop_timer); } /** @@ -1493,6 +1482,14 @@ clutter_init_real (GError **error) ClutterMainContext *ctx; ClutterBackend *backend; +#ifdef CLUTTER_ENABLE_PROFILE + CLUTTER_STATIC_TIMER (mainloop_timer, + NULL, /* no parent */ + "Mainloop", + "The time spent in the clutter mainloop", + 0 /* no application private data */); +#endif + /* Note, creates backend if not already existing, though parse args will * have likely created it */ @@ -1554,6 +1551,8 @@ clutter_init_real (GError **error) uprof_init (NULL, NULL); _clutter_uprof_init (); + CLUTTER_TIMER_START (uprof_get_mainloop_context (), mainloop_timer); + if (clutter_profile_flags & CLUTTER_PROFILE_PICKING_ONLY) _clutter_profile_suspend (); #endif