Fix T103880: Crash with Line Art Grease-Pencil modifier

The line art modifier added a wmNotifier in it's
GpencilModifierTypeInfo.generateStrokes callback which isn't thread-safe
when called from the depsgraph. This was from the original inclusion
of the feature [0] however a more recent optimization to notifier
lookups [1] made the crash occur more frequently.

Remove the notifier as modifiers should not be adding WM level events
and it works without it.

[0]: 3e87d8a431
[1]: 0aaff9a07d
This commit is contained in:
Campbell Barton 2023-01-19 20:33:44 +11:00
parent 71b5799852
commit 2907227db2
Notes: blender-bot 2023-02-13 22:37:44 +01:00
Referenced by issue #103880, Regression: Grease Pencil : multiple Line Art modifiers cause crashes
1 changed files with 0 additions and 5 deletions

View File

@ -44,9 +44,6 @@
#include "MOD_gpencil_ui_common.h"
#include "lineart/MOD_lineart.h"
#include "WM_api.h"
#include "WM_types.h"
static void initData(GpencilModifierData *md)
{
LineartGpencilModifierData *gpmd = (LineartGpencilModifierData *)md;
@ -168,8 +165,6 @@ static void generateStrokes(GpencilModifierData *md, Depsgraph *depsgraph, Objec
* cache. */
lmd->cache = gpd->runtime.lineart_cache;
}
WM_main_add_notifier(NA_EDITED | NC_GPENCIL, NULL);
}
static void bakeModifier(Main *UNUSED(bmain),