glib: Use C struct for PopplerPageRange
Boxed type is not needed so use just common C struct.
Use G_GNUC_MALLOC attribute on
poppler_document_get_print_page_ranges().
https://gitlab.freedesktop.org/poppler/poppler/issues/290
diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc
index acd8157..c0c3fc0 100644
--- a/glib/poppler-document.cc
+++ b/glib/poppler-document.cc
@@ -1662,7 +1662,7 @@
*
* Returns: a #PopplerPrintDuplex that should be used when document is printed
*
- * Since: 0.78
+ * Since: 0.80
**/
PopplerPrintDuplex
poppler_document_get_print_duplex (PopplerDocument *document)
@@ -1706,7 +1706,7 @@
*
* Returns: Number of copies
*
- * Since: 0.78
+ * Since: 0.80
**/
gint
poppler_document_get_print_n_copies (PopplerDocument *document)
@@ -1728,53 +1728,6 @@
return retval;
}
-/* PopplerPageRange */
-
-POPPLER_DEFINE_BOXED_TYPE (PopplerPageRange, poppler_page_range,
- poppler_page_range_copy,
- poppler_page_range_free)
-
-/**
- * poppler_page_range_new:
- *
- * Creates a new #PopplerPageRange
- *
- * Returns: a new #PopplerPageRange, use poppler_page_range_free() to free it
- */
-PopplerPageRange *
-poppler_page_range_new (void)
-{
- return g_slice_new0 (PopplerPageRange);
-}
-
-/**
- * poppler_page_range_copy:
- * @range: a #PopplerPageRange to copy
- *
- * Creates a copy of @range
- *
- * Returns: a new allocated copy of @range
- */
-PopplerPageRange *
-poppler_page_range_copy (PopplerPageRange *range)
-{
- g_return_val_if_fail (range != nullptr, NULL);
-
- return g_slice_dup (PopplerPageRange, range);
-}
-
-/**
- * poppler_page_range_free:
- * @range: a #PopplerPageRange
- *
- * Frees the given #PopplerPageRange
- */
-void
-poppler_page_range_free (PopplerPageRange *range)
-{
- g_slice_free (PopplerPageRange, range);
-}
-
/**
* poppler_document_get_print_page_ranges:
* @document: A #PopplerDocument
@@ -1787,7 +1740,7 @@
* of #PopplerPageRanges or NULL. Free the array when
* it is no longer needed.
*
- * Since: 0.78
+ * Since: 0.80
**/
PopplerPageRange *
poppler_document_get_print_page_ranges (PopplerDocument *document,
@@ -2342,7 +2295,7 @@
/**
* PopplerDocument:print-duplex:
*
- * Since: 0.78
+ * Since: 0.80
*/
g_object_class_install_property (G_OBJECT_CLASS (klass),
PROP_PRINT_DUPLEX,
@@ -2358,7 +2311,7 @@
*
* Suggested number of copies to be printed for this document
*
- * Since: 0.78
+ * Since: 0.80
*/
g_object_class_install_property (G_OBJECT_CLASS (klass),
PROP_PRINT_N_COPIES,
diff --git a/glib/poppler-document.h b/glib/poppler-document.h
index 499991c..9d8b705 100644
--- a/glib/poppler-document.h
+++ b/glib/poppler-document.h
@@ -161,7 +161,7 @@
*
* Duplex viewer preference
*
- * Since: 0.78
+ * Since: 0.80
*/
typedef enum
{
@@ -400,7 +400,7 @@
gint poppler_document_get_print_n_copies (PopplerDocument *document);
POPPLER_PUBLIC
PopplerPageRange *poppler_document_get_print_page_ranges (PopplerDocument *document,
- int *n_ranges);
+ int *n_ranges) G_GNUC_MALLOC;
/* Attachments */
POPPLER_PUBLIC
@@ -531,25 +531,14 @@
*
* A #PopplerPageRange is used to specify a range of pages.
*
- * Since: 0.78
+ * Since: 0.80
*/
-#define POPPLER_TYPE_PAGE_RANGE (poppler_page_range_get_type ())
struct _PopplerPageRange
{
gint start_page;
gint end_page;
};
-POPPLER_PUBLIC
-GType poppler_page_range_get_type (void) G_GNUC_CONST;
-POPPLER_PUBLIC
-PopplerPageRange *poppler_page_range_new ();
-POPPLER_PUBLIC
-PopplerPageRange *poppler_page_range_copy (PopplerPageRange *range);
-POPPLER_PUBLIC
-void poppler_page_range_free (PopplerPageRange *range);
-
-
G_END_DECLS
#endif /* __POPPLER_DOCUMENT_H__ */