diff --git a/src/ui/windows/wallets_dialog.h b/src/ui/windows/wallets_dialog.h index ec55991..80bbb11 100644 --- a/src/ui/windows/wallets_dialog.h +++ b/src/ui/windows/wallets_dialog.h @@ -51,7 +51,19 @@ public: if (s_needScan) { scan(); s_needScan = false; } - if (BeginOverlayDialog(TR("wallets_title"), &s_open, 780.0f, 0.94f)) { + // FIXED cardHeight (not the auto-height overload): the table below sizes itself from + // GetContentRegionAvail().y, which is only stable when the dialog's content child is + // fixed-height. Auto-height makes that read self-referential and it diverges across a + // monitor move (dpiScale jump), sliding the create/footer rows off-screen. See Manage + // Portfolio (market_tab.cpp) for the same fixed-height pattern. + OverlayDialogSpec ov; + ov.title = TR("wallets_title"); + ov.p_open = &s_open; + ov.style = OverlayStyle::BlurFloat; + ov.cardWidth = 780.0f; + ov.cardHeight = 620.0f; + ov.idSuffix = "wallets"; + if (BeginOverlayDialog(ov)) { Type().textColored(TypeStyle::Caption, OnSurfaceMedium(), TR("wallets_intro")); ImGui::Dummy(ImVec2(0, Layout::spacingSm()));