]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-presentation-timer.c
cleanup
[evince.git] / shell / ev-presentation-timer.c
index d1b3474d46ada8002edb65a1f874725239cec39a..0ab7018da7e9eba43bcece6a970a538317fd2b7a 100644 (file)
@@ -95,12 +95,16 @@ timeout_cb (gpointer data)
 void
 ev_presentation_timer_set_pages (EvPresentationTimer *ev_timer, guint pages)
 {
+       if(!EV_IS_PRESENTATION_TIMER (ev_timer))
+               return;
        ev_timer->priv->pages = pages -1;
 }
 
 void
 ev_presentation_timer_set_page (EvPresentationTimer *ev_timer, guint page)
 {
+       if(!EV_IS_PRESENTATION_TIMER (ev_timer))
+               return;
        if (page >= ev_timer->priv->pages)
        {
                page = ev_timer->priv->pages;
@@ -125,6 +129,8 @@ ev_presentation_timer_init (EvPresentationTimer *ev_timer)
 void
 ev_presentation_timer_start (EvPresentationTimer *ev_timer)
 {
+       if (!EV_IS_PRESENTATION_TIMER (ev_timer))
+               return;
        if (ev_timer->priv->running == FALSE)
        {
                ev_timer->priv->remaining = (ev_timer->priv->time)*60;
@@ -136,6 +142,10 @@ ev_presentation_timer_start (EvPresentationTimer *ev_timer)
 void
 ev_presentation_timer_stop (EvPresentationTimer *ev_timer)
 {
+       if (!EV_IS_PRESENTATION_TIMER (ev_timer))
+               return;
+       if (priv->timeout > 0)
+               g_source_remove (priv->timeout);
        ev_timer->priv->remaining = 0;
 }
 
@@ -143,9 +153,10 @@ void
 ev_presentation_timer_set_time (EvPresentationTimer *ev_timer,
                                gint time)
 {
+       if (!EV_IS_PRESENTATION_TIMER (ev_timer))
+               return;
        if(ev_timer->priv->running)
                ev_timer->priv->remaining = ((ev_timer->priv->remaining)/(ev_timer->priv->time)*time);
-
        ev_timer->priv->time = (time < -1)? -1:time;
 }