From e9fc25835f2091cf6533d92379a31c0656b4aafb Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 3 Feb 2022 17:57:40 +0100 Subject: Remove internal proxy code, and deprecate related DNA data. Part of T91671. Not much else to say, this is mainly a massive deletion of code. Note that a few cleanups possible after this proxy removal were kept out of this commit to try to reduce a bit its size. Reviewed By: sergey, brecht Maniphest Tasks: T91671 Differential Revision: https://developer.blender.org/D13995 --- source/blender/blenloader/intern/readfile.c | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'source/blender/blenloader/intern/readfile.c') diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 38f2d8bb22c..2ba66657499 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -1580,15 +1580,6 @@ static void change_link_placeholder_to_real_ID_pointer(ListBase *mainlist, } } -void blo_clear_proxy_pointers_from_lib(Main *oldmain) -{ - LISTBASE_FOREACH (Object *, ob, &oldmain->objects) { - if (ID_IS_LINKED(ob) && ob->proxy_from != NULL && !ID_IS_LINKED(ob->proxy_from)) { - ob->proxy_from = NULL; - } - } -} - /* XXX disabled this feature - packed files also belong in temp saves and quit.blend, * to make restore work. */ @@ -3207,18 +3198,8 @@ static void read_libblock_undo_restore_identical( id_old->recalc |= direct_link_id_restore_recalc_exceptions(id_old); id_old->recalc_after_undo_push = 0; - /* As usual, proxies require some special love... - * In `blo_clear_proxy_pointers_from_lib()` we clear all `proxy_from` pointers to local IDs, for - * undo. This is required since we do not re-read linked data in that case, so we also do not - * re-'lib_link' their pointers. - * Those `proxy_from` pointers are then re-defined properly when lib_linking the newly read local - * object. However, in case of re-used data 'as-is', we never lib_link it again, so we have to - * fix those backward pointers here. */ if (GS(id_old->name) == ID_OB) { Object *ob = (Object *)id_old; - if (ob->proxy != NULL) { - ob->proxy->proxy_from = ob; - } /* For undo we stay in object mode during undo presses, so keep editmode disabled for re-used * data-blocks too. */ ob->mode &= ~OB_MODE_EDIT; -- cgit v1.2.3