# HG changeset patch # User ib # Date 1398701334 0 # Node ID aadeccf8159bddb18f1f51c04b111aba67c71739 # Parent e1453cdb2bed1d2a832a7d2b9cb97719438819dc Copy subsequent video filter settings at once. Count the existing settings following the deleted one and copy them all at once. diff -r e1453cdb2bed -r aadeccf8159b gui/interface.c --- a/gui/interface.c Mon Apr 28 16:02:20 2014 +0000 +++ b/gui/interface.c Mon Apr 28 16:08:54 2014 +0000 @@ -170,14 +170,19 @@ while (vf_settings[i].name) { if (strcmp(vf_settings[i].name, vf) == 0) { + int j; + mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_RemovingVideoFilter, vf); free(vf_settings[i].name); listFree(&vf_settings[i].attribs); - do - memcpy(&vf_settings[i], &vf_settings[i + 1], sizeof(*vf_settings)); - while (vf_settings[++i].name); + j = i + 1; + + while (vf_settings[j].name) + j++; + + memmove(&vf_settings[i], &vf_settings[i + 1], (j - i) * sizeof(*vf_settings)); break; }