Open asinghvi17 opened 1 year ago
I set a function to error when top_sc.px_area changed. Here's the stacktrace.
Are Scene events shared between all scenes in a tree? That might explain why this is happening.
julia> old_pxarea = top_sc.px_area[]
HyperRectangle{2, Int64}([0, 0], [1000, 1000])
julia> on(top_sc.px_area) do pxarea
if pxarea.widths != old_pxarea.widths
error("Changed here")
end
end
ObserverFunction defined at REPL[723]:2 operating on Observable(HyperRectangle{2, Int64}([0, 0], [1000, 1000]))
julia> GLMakie.Screen(sub_sc)
ERROR: Changed here
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] (::var"#82#83")(pxarea::GeometryBasics.HyperRectangle{2, Int64})
@ Main ./REPL[723]:3
[3] #invokelatest#2
@ ./essentials.jl:729 [inlined]
[4] invokelatest
@ ./essentials.jl:726 [inlined]
[5] notify
@ ~/.julia/packages/Observables/PHGQ8/src/Observables.jl:169 [inlined]
[6] setindex!(observable::Observable, val::Any)
@ Observables ~/.julia/packages/Observables/PHGQ8/src/Observables.jl:86
[7] (::Makie.var"#103#105")(w_area::GeometryBasics.HyperRectangle{2, Int64})
@ Makie ~/Documents/Business/India/XKDR/dev/Makie.jl/src/scenes.jl:214
[8] #invokelatest#2
@ ./essentials.jl:729 [inlined]
[9] invokelatest
@ ./essentials.jl:726 [inlined]
[10] notify
@ ~/.julia/packages/Observables/PHGQ8/src/Observables.jl:169 [inlined]
[11] setindex!(observable::Observable, val::Any)
@ Observables ~/.julia/packages/Observables/PHGQ8/src/Observables.jl:86
[12] (::GLMakie.var"#windowsizecb#144"{Scene, GLMakie.Screen{GLFW.Window}})(window::GLFW.Window, width::Int32, height::Int32)
@ GLMakie ~/Documents/Business/India/XKDR/dev/Makie.jl/GLMakie/src/events.jl:55
[13] window_area(scene::Scene, screen::GLMakie.Screen{GLFW.Window})
@ GLMakie ~/Documents/Business/India/XKDR/dev/Makie.jl/GLMakie/src/events.jl:75
[14] connect_screen(scene::Scene, screen::GLMakie.Screen{GLFW.Window})
@ Makie ~/Documents/Business/India/XKDR/dev/Makie.jl/src/interaction/events.jl:20
[15] display_scene!(screen::GLMakie.Screen{GLFW.Window}, scene::Scene)
@ GLMakie ~/Documents/Business/India/XKDR/dev/Makie.jl/GLMakie/src/screen.jl:391
[16] GLMakie.Screen(scene::Scene, config::GLMakie.ScreenConfig; visible::Nothing, start_renderloop::Bool)
@ GLMakie ~/Documents/Business/India/XKDR/dev/Makie.jl/GLMakie/src/screen.jl:406
[17] #Screen#42
@ ~/Documents/Business/India/XKDR/dev/Makie.jl/GLMakie/src/screen.jl:398 [inlined]
[18] GLMakie.Screen(scene::Scene)
@ GLMakie ~/Documents/Business/India/XKDR/dev/Makie.jl/GLMakie/src/screen.jl:396
[19] top-level scope
@ REPL[724]:1
I think what's happening here is:
Consider the following MWE.
This is an issue for any combination of displaying (removing the semicolon) for top_sc and sub_sc. It only happens in GLMakie; CairoMakie and WGLMakie don't suffer from this issue.