Skip to content

DPI change is not fully handled in the cascading window on Windows #1609

Closed

Description

@yukawa

Description

Spun off from #1604.

This is something I overlooked in my #1481 for #1459.

mozc::renderer::win32::WindowManager::UpdateLayout forgot to call cascading_window_->UpdateDpi(target_dpi).

// Sync both windows to the DPI of the monitor where the candidate window
// is about to be placed. This makes their first-frame layout correct when
// the target app is on a different-DPI monitor than where the windows were
// last shown — WM_DPICHANGED would otherwise fire only during the
// subsequent SetWindowPos, after the size has already been computed at
// the stale DPI.
const uint32_t target_dpi = GetDpiForPoint(target_point.x, target_point.y);
main_window_->UpdateDpi(target_dpi);
infolist_window_->UpdateDpi(target_dpi);

As a result, the cascading window remains to be the initial DPI even when it should use a newer value.

Steps to reproduce

  1. Install Mozc for Windows
  2. Open Notepad then enable Mozc.
  3. Type something then hit the space key multiple times to show the cascading window.
  4. Change the display DPI in the system settings.

Expected behavior

The cascading window is scaled up/down accordingly.

Actual behavior

The cascading window remains to use the initial DPI.

Screenshots

DPI 200% -> 100%

Image

DPI 200% -> 200%

Image

DPI 200% -> 300%

Image

Version or commit-id

e5f1494

Environment

  • OS: Windows 11 26H2

Activity

  1. added theissue type on Oct 30, 2026
  2. added a commit that references this issue on Nov 3, 2026
    c4ed468
  3. added a commit that references this issue on Nov 7, 2026
    3f80330
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions