]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-jobs.c
A bit of cleanup: use gobject instance private data, and G_DEFINE_TYPE.
[evince.git] / shell / ev-jobs.c
index 84eb365cd17c290512f4320a73a8a92ea522b4c2..4bb0bf6f9db565a2b6a6c4d79dea77f105c3b21c 100644 (file)
@@ -499,6 +499,11 @@ ev_job_load_dispose (GObject *object)
                job->dest = NULL;
        }
 
                job->dest = NULL;
        }
 
+       if (job->search_string) {
+               g_free (job->search_string);
+               job->search_string = NULL;
+       }
+
        (* G_OBJECT_CLASS (ev_job_load_parent_class)->dispose) (object);
 }
 
        (* G_OBJECT_CLASS (ev_job_load_parent_class)->dispose) (object);
 }
 
@@ -514,7 +519,10 @@ ev_job_load_class_init (EvJobLoadClass *class)
 
 
 EvJob *
 
 
 EvJob *
-ev_job_load_new (const gchar *uri, EvLinkDest *dest, EvWindowRunMode mode)
+ev_job_load_new (const gchar    *uri,
+                EvLinkDest     *dest,
+                EvWindowRunMode mode,
+                const gchar    *search_string)
 {
        EvJobLoad *job;
 
 {
        EvJobLoad *job;
 
@@ -525,6 +533,8 @@ ev_job_load_new (const gchar *uri, EvLinkDest *dest, EvWindowRunMode mode)
                job->dest = g_object_ref (dest);
 
        job->mode = mode;
                job->dest = g_object_ref (dest);
 
        job->mode = mode;
+       if (search_string)
+               job->search_string = g_strdup (search_string);
 
        return EV_JOB (job);
 }
 
        return EV_JOB (job);
 }
@@ -735,7 +745,7 @@ ev_job_print_new (EvDocument    *document,
 
        job->page_set = page_set;
 
 
        job->page_set = page_set;
 
-       job->pages_per_sheet = pages_per_sheet;
+       job->pages_per_sheet = CLAMP (pages_per_sheet, 1, 16);
        
        job->copies = copies;
        job->collate = collate;
        
        job->copies = copies;
        job->collate = collate;