glib/poppler-action.cc | 9 ++++----- glib/poppler-document.cc | 10 +++------- glib/poppler-page.cc | 20 +++++++------------- 3 files changed, 14 insertions(+), 25 deletions(-)
New commits: commit 98dbe4becbebb96dc46a581dad338e84d747334e Author: Jason Crain <[email protected]> Date: Tue Nov 26 23:44:30 2019 -0700 glib: Fix poppler_action_layer_copy function cast warning In our call to g_list_foreach, the GFunc callback type takes two arguments, but we pass the g_object_ref function, which only takes one, so the compiler warns about an incompatible function cast. Fix this by using a for loop instead of g_list_foreach. diff --git a/glib/poppler-action.cc b/glib/poppler-action.cc index 025e69f7..62169089 100644 --- a/glib/poppler-action.cc +++ b/glib/poppler-action.cc @@ -87,7 +87,8 @@ poppler_action_layer_copy (PopplerActionLayer *action_layer) PopplerActionLayer *retval = g_slice_dup (PopplerActionLayer, action_layer); retval->layers = g_list_copy (action_layer->layers); - g_list_foreach (action_layer->layers, (GFunc)g_object_ref, nullptr); + for (GList *l = retval->layers; l != nullptr; l = l->next) + g_object_ref (l->data); return retval; } commit 0e6790f1eb36786ce7832a0415162b6967e42128 Author: Jason Crain <[email protected]> Date: Tue Nov 26 23:44:22 2019 -0700 glib: Fix return in poppler_page_get_text_attributes_for_area Since this function returns a GList*, it should return nullptr on error, not FALSE. diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc index da4939bb..dc12d04a 100644 --- a/glib/poppler-page.cc +++ b/glib/poppler-page.cc @@ -2383,7 +2383,7 @@ poppler_page_get_text_attributes_for_area (PopplerPage *page, GList *attributes = nullptr; g_return_val_if_fail (POPPLER_IS_PAGE (page), NULL); - g_return_val_if_fail (area != nullptr, FALSE); + g_return_val_if_fail (area != nullptr, nullptr); selection.x1 = area->x1; selection.y1 = area->y1; commit 9b4503048e7d0eeb882aeea75140c2b6e3599c48 Author: Jason Crain <[email protected]> Date: Tue Nov 26 23:44:15 2019 -0700 glib: Use g_list_free_full Use g_list_free_full instead of g_list_foreach followed by g_list_free. This fixes a compiler warning. The g_list_foreach function takes a "GFunc" callback, which takes two arguments, but the free functions we pass only take one argument, so the compiler warns about an incompatible cast. Using g_list_free_full fixes this because it takes a "GDestroyNotify" callback, which takes one argument. diff --git a/glib/poppler-action.cc b/glib/poppler-action.cc index 3efa8994..025e69f7 100644 --- a/glib/poppler-action.cc +++ b/glib/poppler-action.cc @@ -74,8 +74,7 @@ poppler_action_layer_free (PopplerActionLayer *action_layer) return; if (action_layer->layers) { - g_list_foreach (action_layer->layers, (GFunc)g_object_unref, nullptr); - g_list_free (action_layer->layers); + g_list_free_full (action_layer->layers, g_object_unref); action_layer->layers = nullptr; } @@ -136,8 +135,7 @@ poppler_action_free (PopplerAction *action) break; case POPPLER_ACTION_OCG_STATE: if (action->ocg_state.state_list) { - g_list_foreach (action->ocg_state.state_list, (GFunc)poppler_action_layer_free, nullptr); - g_list_free (action->ocg_state.state_list); + g_list_free_full (action->ocg_state.state_list, (GDestroyNotify)poppler_action_layer_free); } break; case POPPLER_ACTION_JAVASCRIPT: diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc index e9c27796..e2d4f335 100644 --- a/glib/poppler-document.cc +++ b/glib/poppler-document.cc @@ -3127,8 +3127,7 @@ layer_free (Layer *layer) return; if (layer->kids) { - g_list_foreach (layer->kids, (GFunc)layer_free, nullptr); - g_list_free (layer->kids); + g_list_free_full (layer->kids, (GDestroyNotify)layer_free); } if (layer->label) { @@ -3276,11 +3275,8 @@ poppler_document_layers_free (PopplerDocument *document) if (G_UNLIKELY (!document->layers)) return; - g_list_foreach (document->layers, (GFunc)layer_free, nullptr); - g_list_free (document->layers); - - g_list_foreach (document->layers_rbgroups, (GFunc)g_list_free, nullptr); - g_list_free (document->layers_rbgroups); + g_list_free_full (document->layers, (GDestroyNotify)layer_free); + g_list_free_full (document->layers_rbgroups, (GDestroyNotify)g_list_free); document->layers = nullptr; document->layers_rbgroups = nullptr; diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc index 0c43e768..da4939bb 100644 --- a/glib/poppler-page.cc +++ b/glib/poppler-page.cc @@ -729,8 +729,7 @@ poppler_page_selection_region_free (GList *region) if (G_UNLIKELY (!region)) return; - g_list_foreach (region, (GFunc)poppler_rectangle_free, nullptr); - g_list_free (region); + g_list_free_full (region, (GDestroyNotify)poppler_rectangle_free); } /** @@ -1117,8 +1116,7 @@ poppler_page_free_image_mapping (GList *list) if (G_UNLIKELY (list == nullptr)) return; - g_list_foreach (list, (GFunc)poppler_image_mapping_free, nullptr); - g_list_free (list); + g_list_free_full (list, (GDestroyNotify)poppler_image_mapping_free); } /** @@ -1301,8 +1299,7 @@ poppler_page_free_link_mapping (GList *list) if (G_UNLIKELY (list == nullptr)) return; - g_list_foreach (list, (GFunc)poppler_link_mapping_free, nullptr); - g_list_free (list); + g_list_free_full (list, (GDestroyNotify)poppler_link_mapping_free); } /** @@ -1368,8 +1365,7 @@ poppler_page_free_form_field_mapping (GList *list) if (G_UNLIKELY (list == nullptr)) return; - g_list_foreach (list, (GFunc) poppler_form_field_mapping_free, nullptr); - g_list_free (list); + g_list_free_full (list, (GDestroyNotify)poppler_form_field_mapping_free); } /** @@ -1505,8 +1501,7 @@ poppler_page_free_annot_mapping (GList *list) if (G_UNLIKELY (!list)) return; - g_list_foreach (list, (GFunc)poppler_annot_mapping_free, nullptr); - g_list_free (list); + g_list_free_full (list, (GDestroyNotify)poppler_annot_mapping_free); } /** @@ -2306,8 +2301,7 @@ poppler_page_free_text_attributes (GList *list) if (G_UNLIKELY (list == nullptr)) return; - g_list_foreach (list, (GFunc)poppler_text_attributes_free, nullptr); - g_list_free (list); + g_list_free_full (list, (GDestroyNotify)poppler_text_attributes_free); } static gboolean _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
