Hi Rob - thanks for responding so quickly. I am running the latest daily build (2014.2358), but can also confirm this bug exists in the latest public build (2014.2189). I have filed a bug report with case # 33900. Here is the main.lua that I attached to that bug report that illustrates the bug clearly in the simulator (or on device):
------------------------------------------------------------------------------------ -- SCREEN POSITION VARIABLES ------------------------------------------------------------------------------------ local centerX = display.contentCenterX local centerY = display.contentCenterY local screenTop = display.screenOriginY local screenLeft = display.screenOriginX local screenBottom = display.screenOriginY + (display.contentHeight - (display.screenOriginY \* 2)) local screenRight = display.screenOriginX + (display.contentWidth - (display.screenOriginX \* 2)) local screenWidth = screenRight - screenLeft local screenHeight = screenBottom - screenTop ------------------------------------------------------------------------------------ -- FUNCTION TO CREATE A NEW SAMPLE OBJECT/GROUP: ------------------------------------------------------------------------------------ local function newSample() local group = display.newGroup() group.x, group.y = centerX, centerY local r, g, b = math.random(0,70)\*.01, math.random(0,70)\*.01, math.random(0,70)\*.01 local r2, g2, b2 = math.abs(r-1), math.abs(g-1), math.abs(b-1) local bg = display.newRect(group, 0, 0, screenWidth, screenHeight) bg:setFillColor(r,g,b) local object = display.newCircle(group, 0, 0, screenWidth\*.25) object:setFillColor(r2,g2,b2) local function startOver() display.remove(group) group = nil newSample() return true end local function removeObject() display.remove(object) object = nil return true end function object:finalize(event) print("Finalize Event Dispatched!") native.showAlert("Finalize Event Dispatched", "If you are seeing this alert, it means that a 'finalize' event was dispatched when the circle was removed from the stage.", {"OK"}, startOver) end object:addEventListener("finalize") object:addEventListener("tap", removeObject) bg:addEventListener("tap", startOver) local label = display.newText({ parent = group, text = "Tap the circle to call display.remove() on the circle. Tap the background to call display.remove() on the circle's parent display group (a new display group will be created immediately after). If the circle dispatches a 'finalize' event, a system alert will pop up.", x = 0, y = screenHeight\*.5, width = screenWidth - 20, height = 0, font = native.systemFont, fontSize = screenWidth\*.04, align = "center" }) label.anchorY = 1 end ------------------------------------------------------------------------------------ -- CREATE FIRST SAMPLE: ------------------------------------------------------------------------------------ newSample()