Added Wayland specific patches mozbz#1431052 mozbz#1432414 mozbz#1434202
This commit is contained in:
parent
91102985e0
commit
a16c5a063b
12
firefox.spec
12
firefox.spec
@ -152,6 +152,11 @@ Patch411: mozilla-1321521-2.patch
|
|||||||
Patch412: mozilla-1337988.patch
|
Patch412: mozilla-1337988.patch
|
||||||
Patch413: mozilla-1353817.patch
|
Patch413: mozilla-1353817.patch
|
||||||
|
|
||||||
|
# Wayland patches
|
||||||
|
Patch450: mozilla-1431052.patch
|
||||||
|
Patch451: mozilla-1432414.patch
|
||||||
|
Patch452: mozilla-1434202.patch
|
||||||
|
|
||||||
# Debian patches
|
# Debian patches
|
||||||
Patch500: mozilla-440908.patch
|
Patch500: mozilla-440908.patch
|
||||||
|
|
||||||
@ -314,6 +319,11 @@ This package contains results of tests executed during build.
|
|||||||
%patch406 -p1 -b .256180
|
%patch406 -p1 -b .256180
|
||||||
%patch413 -p1 -b .1353817
|
%patch413 -p1 -b .1353817
|
||||||
|
|
||||||
|
# Wayland patches
|
||||||
|
%patch450 -p1 -b .1431052
|
||||||
|
%patch451 -p1 -b .1432414
|
||||||
|
%patch452 -p1 -b .1434202
|
||||||
|
|
||||||
# Patch for big endian platforms only
|
# Patch for big endian platforms only
|
||||||
%if 0%{?big_endian}
|
%if 0%{?big_endian}
|
||||||
%patch26 -p1 -b .icu
|
%patch26 -p1 -b .icu
|
||||||
@ -844,6 +854,8 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
%changelog
|
%changelog
|
||||||
* Tue Jan 30 2018 Martin Stransky <stransky@redhat.com> - 59.0-0.2
|
* Tue Jan 30 2018 Martin Stransky <stransky@redhat.com> - 59.0-0.2
|
||||||
- Fixed typo at startup script.
|
- Fixed typo at startup script.
|
||||||
|
- Added Wayland specific patches mozbz#1431052 mozbz#1432414
|
||||||
|
mozbz#1434202
|
||||||
|
|
||||||
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 59.0-0.1
|
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 59.0-0.1
|
||||||
- Update to Firefox 59.0 Beta 4
|
- Update to Firefox 59.0 Beta 4
|
||||||
|
21
mozilla-1431052.patch
Normal file
21
mozilla-1431052.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||||
|
--- a/widget/gtk/nsWindow.cpp
|
||||||
|
+++ b/widget/gtk/nsWindow.cpp
|
||||||
|
@@ -6948,11 +6948,15 @@ nsWindow::GetWaylandDisplay()
|
||||||
|
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
||||||
|
return mIsX11Display ? nullptr :
|
||||||
|
sGdkWaylandDisplayGetWlDisplay(gdkDisplay);
|
||||||
|
}
|
||||||
|
|
||||||
|
wl_surface*
|
||||||
|
nsWindow::GetWaylandSurface()
|
||||||
|
{
|
||||||
|
- return moz_container_get_wl_surface(MOZ_CONTAINER(mContainer));
|
||||||
|
+ if (mContainer)
|
||||||
|
+ return moz_container_get_wl_surface(MOZ_CONTAINER(mContainer));
|
||||||
|
+
|
||||||
|
+ NS_WARNING("nsWindow::GetWaylandSurfaces(): We don't have any mContainer for drawing!");
|
||||||
|
+ return nullptr;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
58
mozilla-1432414.patch
Normal file
58
mozilla-1432414.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c
|
||||||
|
--- a/widget/gtk/mozgtk/mozgtk.c
|
||||||
|
+++ b/widget/gtk/mozgtk/mozgtk.c
|
||||||
|
@@ -224,16 +224,17 @@ STUB(gtk_file_chooser_set_preview_widget
|
||||||
|
STUB(gtk_file_chooser_set_preview_widget_active)
|
||||||
|
STUB(gtk_file_chooser_set_select_multiple)
|
||||||
|
STUB(gtk_file_chooser_widget_get_type)
|
||||||
|
STUB(gtk_file_filter_add_pattern)
|
||||||
|
STUB(gtk_file_filter_new)
|
||||||
|
STUB(gtk_file_filter_set_name)
|
||||||
|
STUB(gtk_fixed_new)
|
||||||
|
STUB(gtk_frame_new)
|
||||||
|
+STUB(gtk_get_current_event_time)
|
||||||
|
STUB(gtk_grab_add)
|
||||||
|
STUB(gtk_grab_remove)
|
||||||
|
STUB(gtk_handle_box_new)
|
||||||
|
STUB(gtk_hbox_new)
|
||||||
|
STUB(gtk_icon_info_free)
|
||||||
|
STUB(gtk_icon_info_load_icon)
|
||||||
|
STUB(gtk_icon_set_add_source)
|
||||||
|
STUB(gtk_icon_set_new)
|
||||||
|
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||||
|
--- a/widget/gtk/nsWindow.cpp
|
||||||
|
+++ b/widget/gtk/nsWindow.cpp
|
||||||
|
@@ -1358,23 +1358,27 @@ SetUserTimeAndStartupIDForActivatedWindo
|
||||||
|
// we don't want to reuse the timestamp next time we raise the window
|
||||||
|
GTKToolkit->SetFocusTimestamp(0);
|
||||||
|
GTKToolkit->SetDesktopStartupID(EmptyCString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* static */ guint32
|
||||||
|
nsWindow::GetLastUserInputTime()
|
||||||
|
{
|
||||||
|
- // gdk_x11_display_get_user_time tracks button and key presses,
|
||||||
|
- // DESKTOP_STARTUP_ID used to start the app, drop events from external
|
||||||
|
- // drags, WM_DELETE_WINDOW delete events, but not usually mouse motion nor
|
||||||
|
+ // gdk_x11_display_get_user_time/gtk_get_current_event_time tracks
|
||||||
|
+ // button and key presses, DESKTOP_STARTUP_ID used to start the app,
|
||||||
|
+ // drop events from external drags,
|
||||||
|
+ // WM_DELETE_WINDOW delete events, but not usually mouse motion nor
|
||||||
|
// button and key releases. Therefore use the most recent of
|
||||||
|
// gdk_x11_display_get_user_time and the last time that we have seen.
|
||||||
|
- guint32 timestamp =
|
||||||
|
- gdk_x11_display_get_user_time(gdk_display_get_default());
|
||||||
|
+ GdkDisplay* gdkDisplay = gdk_display_get_default();
|
||||||
|
+ guint32 timestamp = GDK_IS_X11_DISPLAY(gdkDisplay) ?
|
||||||
|
+ gdk_x11_display_get_user_time(gdkDisplay) :
|
||||||
|
+ gtk_get_current_event_time();
|
||||||
|
+
|
||||||
|
if (sLastUserInputTime != GDK_CURRENT_TIME &&
|
||||||
|
TimestampIsNewerThan(sLastUserInputTime, timestamp)) {
|
||||||
|
return sLastUserInputTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
return timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
25
mozilla-1434202.patch
Normal file
25
mozilla-1434202.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||||
|
--- a/widget/gtk/nsWindow.cpp
|
||||||
|
+++ b/widget/gtk/nsWindow.cpp
|
||||||
|
@@ -3785,16 +3785,20 @@ nsWindow::Create(nsIWidget* aParent,
|
||||||
|
SetCursor(eCursor_standard);
|
||||||
|
|
||||||
|
if (aInitData->mNoAutoHide) {
|
||||||
|
gint wmd = ConvertBorderStyles(mBorderStyle);
|
||||||
|
if (wmd != -1)
|
||||||
|
gdk_window_set_decorations(mGdkWindow, (GdkWMDecoration) wmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (!mIsX11Display) {
|
||||||
|
+ gtk_widget_set_app_paintable(mShell, TRUE);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
// If the popup ignores mouse events, set an empty input shape.
|
||||||
|
if (aInitData->mMouseTransparent) {
|
||||||
|
cairo_rectangle_int_t rect = { 0, 0, 0, 0 };
|
||||||
|
cairo_region_t *region = cairo_region_create_rectangle(&rect);
|
||||||
|
|
||||||
|
gdk_window_input_shape_combine_region(mGdkWindow, region, 0, 0);
|
||||||
|
cairo_region_destroy(region);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user