Fix: Dialog callback must be invoked in GL thread