summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'data.c')
-rw-r--r--data.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/data.c b/data.c
index 32727a7..5e1be8e 100644
--- a/data.c
+++ b/data.c
@@ -600,8 +600,9 @@ void timeline_admire(snac *snac, char *id, char *admirer, int like)
if (xs_list_in(list, admirer) == -1)
list = xs_list_append(list, admirer);
- /* set the admirer as the referrer (if not already set) */
- if (!like && xs_is_null(xs_dict_get(meta, "referrer")))
+ /* set the admirer as the referrer (if not already set or it's us) */
+ if (!like && (xs_is_null(xs_dict_get(meta, "referrer")) ||
+ strcmp(admirer, snac->actor) == 0))
meta = xs_dict_set(meta, "referrer", admirer);
/* re-store */