X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fseq_msgstats.c;h=50ae7c68f582f6833cff6818e7284785d8439158;hp=6b89d70554b7a20d9de936f3186af0330c13b85b;hb=860ebc0e4bd25ef45ca0257e90daa6a61b7f477a;hpb=1492dd50aa1043da58809ca0fec18cb6ab9937bc diff --git a/sbr/seq_msgstats.c b/sbr/seq_msgstats.c index 6b89d70..50ae7c6 100644 --- a/sbr/seq_msgstats.c +++ b/sbr/seq_msgstats.c @@ -98,6 +98,11 @@ void set_selected(struct msgs *mp, int msgnum) { assert_msg_range(mp, msgnum); + + if (is_selected(mp, msgnum)) { + return; + } + mp->msgstats[msgnum - mp->lowoff] |= SELECTED; if (mp->lowsel == 0 || msgnum < mp->lowsel) { mp->lowsel = msgnum; @@ -126,6 +131,11 @@ void unset_selected(struct msgs *mp, int msgnum) { assert_msg_range(mp, msgnum); + + if (!is_selected(mp, msgnum)) { + return; + } + mp->msgstats[msgnum - mp->lowoff] &= ~SELECTED; if (mp->numsel > 0) { mp->numsel--;