21 lines
764 B
Diff
21 lines
764 B
Diff
|
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||
|
--- a/widget/gtk/nsWindow.cpp
|
||
|
+++ b/widget/gtk/nsWindow.cpp
|
||
|
@@ -1593,7 +1593,14 @@
|
||
|
// Get anchor rectangle
|
||
|
LayoutDeviceIntRect anchorRect(0, 0, 0, 0);
|
||
|
nsMenuPopupFrame* popupFrame = GetMenuPopupFrame(GetFrame());
|
||
|
- int32_t p2a = AppUnitsPerCSSPixel() / gfxPlatformGtk::GetFontScaleFactor();
|
||
|
+
|
||
|
+ int32_t p2a;
|
||
|
+ double devPixelsPerCSSPixel = StaticPrefs::layout_css_devPixelsPerPx();
|
||
|
+ if (devPixelsPerCSSPixel > 0.0) {
|
||
|
+ p2a = AppUnitsPerCSSPixel() / devPixelsPerCSSPixel * GdkScaleFactor();
|
||
|
+ } else {
|
||
|
+ p2a = AppUnitsPerCSSPixel() / gfxPlatformGtk::GetFontScaleFactor();
|
||
|
+ }
|
||
|
if (popupFrame) {
|
||
|
#ifdef MOZ_WAYLAND
|
||
|
anchorRect = LayoutDeviceIntRect::FromAppUnitsToOutside(
|
||
|
|