summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2009-02-14 17:59:28 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2009-02-14 17:59:28 +0000
commit44615333f141f8944c7570bac22def95bdcb40bb (patch)
tree6e39bc7a9559a0fd0079167383b1212a76cd4226 /src
parentdf34246db5414c223618bb2107e94565ff444a84 (diff)
downloadlibwapcaplet-44615333f141f8944c7570bac22def95bdcb40bb.tar.gz
libwapcaplet-44615333f141f8944c7570bac22def95bdcb40bb.tar.bz2
More tests
svn path=/trunk/libwapcaplet/; revision=6507
Diffstat (limited to 'src')
-rw-r--r--src/libwapcaplet.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libwapcaplet.c b/src/libwapcaplet.c
index 7b9817a..9f408ed 100644
--- a/src/libwapcaplet.c
+++ b/src/libwapcaplet.c
@@ -213,7 +213,10 @@ lwc_context_string_unref(lwc_context *ctx, lwc_string *str)
assert(ctx);
assert(str);
- if (--(str->refcnt))
+ if (--(str->refcnt) > 1)
+ return;
+
+ if ((str->refcnt == 1) && (str->insensitive != str))
return;
*(str->prevptr) = str->next;
@@ -221,7 +224,7 @@ lwc_context_string_unref(lwc_context *ctx, lwc_string *str)
if (str->next != NULL)
str->next->prevptr = str->prevptr;
- if (str->insensitive != NULL)
+ if (str->insensitive != NULL && str->refcnt == 0)
lwc_context_string_unref(ctx, str->insensitive);
LWC_FREE(str);