scale_changed and size_changed were incorrectly initialized to true, causing redundant WindowRectMessage and DPI change events to be pushed on every configure event regardless of actual changes.
so_wrap
#pragma once