summaryrefslogtreecommitdiff
path: root/src/select/properties/cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/select/properties/cursor.c')
-rw-r--r--src/select/properties/cursor.c49
1 files changed, 20 insertions, 29 deletions
diff --git a/src/select/properties/cursor.c b/src/select/properties/cursor.c
index 6effdb5..c5e50c6 100644
--- a/src/select/properties/cursor.c
+++ b/src/select/properties/cursor.c
@@ -169,42 +169,33 @@ css_error css__compose_cursor(const css_computed_style *parent,
css_computed_style *result)
{
css_error error;
+ lwc_string **copy = NULL;
lwc_string **urls = NULL;
uint8_t type = get_cursor(child, &urls);
- if ((child->i.uncommon == NULL && parent->i.uncommon != NULL) ||
- type == CSS_CURSOR_INHERIT ||
- (child->i.uncommon != NULL && result != child)) {
- size_t n_urls = 0;
- lwc_string **copy = NULL;
-
- if ((child->i.uncommon == NULL && parent->i.uncommon != NULL) ||
- type == CSS_CURSOR_INHERIT) {
- type = get_cursor(parent, &urls);
- }
-
- if (urls != NULL) {
- lwc_string **i;
+ if (type == CSS_CURSOR_INHERIT) {
+ type = get_cursor(parent, &urls);
+ }
- for (i = urls; (*i) != NULL; i++)
- n_urls++;
+ if (urls != NULL) {
+ lwc_string **i;
+ size_t n_urls = 0;
- copy = malloc((n_urls + 1) *
- sizeof(lwc_string *));
- if (copy == NULL)
- return CSS_NOMEM;
+ for (i = urls; (*i) != NULL; i++)
+ n_urls++;
- memcpy(copy, urls, (n_urls + 1) *
- sizeof(lwc_string *));
- }
-
- error = set_cursor(result, type, copy);
- if (error != CSS_OK && copy != NULL)
- free(copy);
+ copy = malloc((n_urls + 1) *
+ sizeof(lwc_string *));
+ if (copy == NULL)
+ return CSS_NOMEM;
- return error;
+ memcpy(copy, urls, (n_urls + 1) *
+ sizeof(lwc_string *));
}
- return CSS_OK;
-}
+ error = set_cursor(result, type, copy);
+ if (error != CSS_OK && copy != NULL)
+ free(copy);
+ return error;
+}