diff --git a/src/app/script/events_class.cpp b/src/app/script/events_class.cpp index ccdd91ae0..d67bd407d 100644 --- a/src/app/script/events_class.cpp +++ b/src/app/script/events_class.cpp @@ -1,5 +1,5 @@ // Aseprite -// Copyright (C) 2021-2023 Igara Studio S.A. +// Copyright (C) 2021-2024 Igara Studio S.A. // // This program is distributed under the terms of // the End-User License Agreement for Aseprite. @@ -34,10 +34,13 @@ #include #include +// This event was disabled temporarily until we debug some cases. +//#define ENABLE_BEFORE_SITE_CHANGE_EVENT 1 + // This event was disabled because it can be triggered in a background thread // when any effect (e.g. like Replace Color or Convolution Matrix) is running. // And running script code in a background is not supported. -//#define ENABLE_REMAP_TILESET_EVENT +//#define ENABLE_REMAP_TILESET_EVENT 1 namespace app { namespace script { @@ -173,8 +176,10 @@ public: EventType eventType(const char* eventName) const override { if (std::strcmp(eventName, "sitechange") == 0) return SiteChange; +#if ENABLE_BEFORE_SITE_CHANGE_EVENT else if (std::strcmp(eventName, "beforesitechange") == 0) return BeforeSiteChange; +#endif else if (std::strcmp(eventName, "fgcolorchange") == 0) return FgColorChange; else if (std::strcmp(eventName, "bgcolorchange") == 0) diff --git a/tests/scripts/events.lua b/tests/scripts/events.lua index c22d7709a..52ded5c5f 100644 --- a/tests/scripts/events.lua +++ b/tests/scripts/events.lua @@ -7,68 +7,49 @@ dofile('./test_utils.lua') -- Test app.events do - local bc = 0 local c = 0 - local beforeListener = app.events:on('beforesitechange', - function() bc = bc + 1 end) local listener = app.events:on('sitechange', function() c = c + 1 end) - assert(bc == 0) assert(c == 0) local a = Sprite(32, 32) expect_eq(a, app.activeSprite) - expect_eq(1, bc) expect_eq(1, c) local b = Sprite(32, 32) expect_eq(b, app.activeSprite) - expect_eq(2, bc) expect_eq(2, c) app.activeSprite = a - expect_eq(3, bc) expect_eq(3, c) app.events:off(listener) - app.events:off(beforeListener) app.activeSprite = b - expect_eq(3, bc) expect_eq(3, c) end -- Alternate version of the events test to ensure proper observer disconnection do - local bc = 0 local c = 0 - local beforeListener = app.events:on('beforesitechange', - function() bc = bc + 1 end) local listener = app.events:on('sitechange', function() c = c + 1 end) - assert(bc == 0) assert(c == 0) local a = Sprite(32, 32) expect_eq(a, app.activeSprite) - expect_eq(1, bc) expect_eq(1, c) - app.events:off(beforeListener) - local b = Sprite(32, 32) expect_eq(b, app.activeSprite) - expect_eq(1, bc) expect_eq(2, c) app.activeSprite = a - expect_eq(1, bc) expect_eq(3, c) app.events:off(listener) app.activeSprite = b - expect_eq(1, bc) expect_eq(3, c) end