diff options
Diffstat (limited to 'mozilla-1669495.patch')
-rw-r--r-- | mozilla-1669495.patch | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/mozilla-1669495.patch b/mozilla-1669495.patch deleted file mode 100644 index e30bb89..0000000 --- a/mozilla-1669495.patch +++ /dev/null @@ -1,130 +0,0 @@ -diff -up firefox-82.0/layout/xul/nsMenuPopupFrame.cpp.1669495 firefox-82.0/layout/xul/nsMenuPopupFrame.cpp ---- firefox-82.0/layout/xul/nsMenuPopupFrame.cpp.1669495 2020-10-15 16:13:12.304471453 +0200 -+++ firefox-82.0/layout/xul/nsMenuPopupFrame.cpp 2020-10-15 16:13:12.308471463 +0200 -@@ -533,6 +533,26 @@ void nsMenuPopupFrame::LayoutPopup(nsBox - } - prefSize = XULBoundsCheck(minSize, prefSize, maxSize); - -+#ifdef MOZ_WAYLAND -+ static bool inWayland = gdk_display_get_default() && -+ !GDK_IS_X11_DISPLAY(gdk_display_get_default()); -+#else -+ static bool inWayland = false; -+#endif -+ if (inWayland) { -+ // If prefSize it is not a whole number in css pixels we need round it up -+ // to avoid reflow of the tooltips/popups and putting the text on two lines -+ // (usually happens with 200% scale factor and font scale factor <> 1) -+ // because GTK thrown away the decimals. -+ int32_t appPerCSS = AppUnitsPerCSSPixel(); -+ if (prefSize.width % appPerCSS > 0) { -+ prefSize.width += appPerCSS; -+ } -+ if (prefSize.height % appPerCSS > 0) { -+ prefSize.height += appPerCSS; -+ } -+ } -+ - bool sizeChanged = (mPrefSize != prefSize); - // if the size changed then set the bounds to be the preferred size - if (sizeChanged) { -diff -up firefox-82.0/widget/gtk/nsWindow.cpp.1669495 firefox-82.0/widget/gtk/nsWindow.cpp ---- firefox-82.0/widget/gtk/nsWindow.cpp.1669495 2020-10-15 16:13:12.307471461 +0200 -+++ firefox-82.0/widget/gtk/nsWindow.cpp 2020-10-15 16:15:49.243882006 +0200 -@@ -1092,11 +1092,13 @@ void nsWindow::Show(bool aState) { - - void nsWindow::ResizeInt(int aX, int aY, int aWidth, int aHeight, bool aMove, - bool aRepaint) { -- LOG(("nsWindow::ResizeInt [%p] %d %d -> %d %d repaint %d\n", (void*)this, aX, -- aY, aWidth, aHeight, aRepaint)); -+ LOG(("nsWindow::ResizeInt [%p] x:%d y:%d -> w:%d h:%d repaint %d aMove %d\n", -+ (void*)this, aX, aY, aWidth, aHeight, aRepaint, aMove)); - - ConstrainSize(&aWidth, &aHeight); - -+ LOG((" ConstrainSize: w:%d h;%d\n", aWidth, aHeight)); -+ - // If we used to have insane bounds, we may have skipped actually positioning - // the widget in NativeMoveResizeWaylandPopup, in which case we need to - // actually position it now as well. -@@ -1141,8 +1143,7 @@ void nsWindow::ResizeInt(int aX, int aY, - } - - void nsWindow::Resize(double aWidth, double aHeight, bool aRepaint) { -- LOG(("nsWindow::Resize [%p] %d %d\n", (void*)this, (int)aWidth, -- (int)aHeight)); -+ LOG(("nsWindow::Resize [%p] %f %f\n", (void*)this, aWidth, aHeight)); - - double scale = - BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0; -@@ -1154,8 +1155,8 @@ void nsWindow::Resize(double aWidth, dou - - void nsWindow::Resize(double aX, double aY, double aWidth, double aHeight, - bool aRepaint) { -- LOG(("nsWindow::Resize [%p] %d %d repaint %d\n", (void*)this, (int)aWidth, -- (int)aHeight, aRepaint)); -+ LOG(("nsWindow::Resize [%p] %f %f repaint %d\n", (void*)this, aWidth, aHeight, -+ aRepaint)); - - double scale = - BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0; -@@ -1478,14 +1479,15 @@ void nsWindow::NativeMoveResizeWaylandPo - - newBounds.x = GdkCoordToDevicePixels(newBounds.x); - newBounds.y = GdkCoordToDevicePixels(newBounds.y); -- LOG((" new mBounds x=%d y=%d width=%d height=%d\n", newBounds.x, -- newBounds.y, newBounds.width, newBounds.height)); - - double scale = - BoundsUseDesktopPixels() ? GetDesktopToDeviceScale().scale : 1.0; - int32_t newWidth = NSToIntRound(scale * newBounds.width); - int32_t newHeight = NSToIntRound(scale * newBounds.height); - -+ LOG((" new mBounds x=%d y=%d width=%d height=%d\n", newBounds.x, -+ newBounds.y, newWidth, newHeight)); -+ - bool needsPositionUpdate = - (newBounds.x != mBounds.x || newBounds.y != mBounds.y); - bool needsSizeUpdate = -@@ -1493,6 +1495,7 @@ void nsWindow::NativeMoveResizeWaylandPo - // Update view - - if (needsSizeUpdate) { -+ LOG((" needSizeUpdate\n")); - int32_t p2a = AppUnitsPerCSSPixel() / gfxPlatformGtk::GetFontScaleFactor(); - mPreferredPopupRect = nsRect(NSIntPixelsToAppUnits(newBounds.x, p2a), - NSIntPixelsToAppUnits(newBounds.y, p2a), -@@ -1511,6 +1514,7 @@ void nsWindow::NativeMoveResizeWaylandPo - } - - if (needsPositionUpdate) { -+ LOG((" needPositionUpdate\n")); - // The newBounds are in coordinates relative to the parent window/popup. - // The NotifyWindowMoved requires the coordinates relative to the toplevel. - // We use the gdk_window_get_origin to get correct coordinates. -@@ -4245,6 +4249,8 @@ nsresult nsWindow::Create(nsIWidget* aPa - - // save our bounds - mBounds = aRect; -+ LOG((" mBounds: x:%d y:%d w:%d h:%d\n", mBounds.x, mBounds.y, mBounds.width, -+ mBounds.height)); - - mPreferredPopupRectFlushed = false; - -@@ -5083,13 +5089,16 @@ void nsWindow::NativeShow(bool aAction) - } - } - -+ LOG((" calling gtk_widget_show(mShell)\n")); - gtk_widget_show(mShell); - if (!mIsX11Display) { - WaylandStartVsync(); - } - } else if (mContainer) { -+ LOG((" calling gtk_widget_show(mContainer)\n")); - gtk_widget_show(GTK_WIDGET(mContainer)); - } else if (mGdkWindow) { -+ LOG((" calling gdk_window_show_unraised\n")); - gdk_window_show_unraised(mGdkWindow); - } - } else { |