static gboolean gtk_css_matcher_widget_path_has_regions (const GtkCssMatcher *matcher) { const GtkWidgetPath *siblings; GSList *regions; gboolean result; if (matcher->path.decl) { GList *list = gtk_css_node_declaration_list_regions (matcher->path.decl); if (list) { g_list_free (list); return TRUE; } } G_GNUC_BEGIN_IGNORE_DEPRECATIONS siblings = gtk_widget_path_iter_get_siblings (matcher->path.path, matcher->path.index); if (siblings && matcher->path.sibling_index != gtk_widget_path_iter_get_sibling_index (matcher->path.path, matcher->path.index)) regions = gtk_widget_path_iter_list_regions (siblings, matcher->path.sibling_index); else regions = gtk_widget_path_iter_list_regions (matcher->path.path, matcher->path.index); result = regions != NULL; g_slist_free (regions); return result; G_GNUC_END_IGNORE_DEPRECATIONS }
static gboolean gtk_css_matcher_widget_path_has_regions (const GtkCssMatcher *matcher) { const GtkWidgetPath *siblings; GSList *regions; gboolean result; siblings = gtk_widget_path_iter_get_siblings (matcher->path.path, matcher->path.index); if (siblings && matcher->path.sibling_index != gtk_widget_path_iter_get_sibling_index (matcher->path.path, matcher->path.index)) regions = gtk_widget_path_iter_list_regions (siblings, matcher->path.sibling_index); else regions = gtk_widget_path_iter_list_regions (matcher->path.path, matcher->path.index); result = regions != NULL; g_slist_free (regions); return result; }
static VALUE rg_iter_list_regions(VALUE self, VALUE pos) { return CSTRGSLIST2RVAL_FREE(gtk_widget_path_iter_list_regions(_SELF(self), NUM2INT(pos)), g_slist_free, NULL); }