commit ab3c71dc97d443d9af62f69e0e72e5ebc2a7e6aa
Author: vascom <vascom2(a)gmail.com>
Date: Sat Jun 6 21:35:15 2020 +0300
Fix wayland blackscreen.
celluloid-wayland-black-screen.patch | 60 ++++++++++++++++++++++++++++++++++++
celluloid.spec | 6 +++-
2 files changed, 65 insertions(+), 1 deletion(-)
---
diff --git a/celluloid-wayland-black-screen.patch b/celluloid-wayland-black-screen.patch
new file mode 100644
index 0000000..a5dffa3
--- /dev/null
+++ b/celluloid-wayland-black-screen.patch
@@ -0,0 +1,60 @@
+From 132427ea0415796584dbf37012aa3fca5c2d4a83 Mon Sep 17 00:00:00 2001
+From: gnome-mpv <gnome-mpv@nowhere>
+Date: Wed, 27 May 2020 21:59:12 +0700
+Subject: [PATCH] main-window: Don't resize while maximized or in fullscreen
+ mode
+
+Fixes #540.
+---
+ src/celluloid-main-window.c | 35 ++++++++++++++++++++++-------------
+ 1 file changed, 22 insertions(+), 13 deletions(-)
+
+diff --git a/src/celluloid-main-window.c b/src/celluloid-main-window.c
+index 7dc2a00..5b46889 100644
+--- a/src/celluloid-main-window.c
++++ b/src/celluloid-main-window.c
+@@ -670,22 +670,31 @@ celluloid_main_window_resize_video_area( CelluloidMainWindow *wnd,
+ gint width,
+ gint height )
+ {
+- CelluloidMainWindowPrivate *priv = get_private(wnd);
++ /* As of GNOME 3.36, attempting to resize the window while it is
++ * maximized will cause the UI to stop rendering. Resizing while
++ * fullscreen is unaffected, but it doesn't make sense to resize there
++ * either.
++ */
++ if( !get_private(wnd)->fullscreen &&
++ !gtk_window_is_maximized(GTK_WINDOW(wnd)) )
++ {
++ CelluloidMainWindowPrivate *priv = get_private(wnd);
+
+- g_signal_connect( priv->vid_area,
+- "size-allocate",
+- G_CALLBACK(resize_video_area_finalize),
+- wnd );
++ g_signal_connect( priv->vid_area,
++ "size-allocate",
++ G_CALLBACK(resize_video_area_finalize),
++ wnd );
+
+- priv->resize_target[0] = width;
+- priv->resize_target[1] = height;
+- resize_to_target(wnd);
++ priv->resize_target[0] = width;
++ priv->resize_target[1] = height;
++ resize_to_target(wnd);
+
+- /* The size may not change, so this is needed to ensure that
+- * resize_video_area_finalize() will be called so that the event handler
+- * will be disconnected.
+- */
+- gtk_widget_queue_allocate(priv->vid_area);
++ /* The size may not change, so this is needed to ensure that
++ * resize_video_area_finalize() will be called so that the event handler
++ * will be disconnected.
++ */
++ gtk_widget_queue_allocate(priv->vid_area);
++ }
+ }
+
+ void
diff --git a/celluloid.spec b/celluloid.spec
index b88e44b..970f079 100644
--- a/celluloid.spec
+++ b/celluloid.spec
@@ -3,12 +3,13 @@
Name: celluloid
Version: 0.19
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: A simple GTK+ frontend for mpv
License: GPLv3+
URL:
https://github.com/celluloid-player/celluloid
Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz
+Patch0: celluloid-wayland-black-screen.patch
BuildRequires: gcc
BuildRequires: desktop-file-utils
@@ -62,6 +63,9 @@ desktop-file-validate
%{buildroot}%{_datadir}/applications/io.github.celluloid_p
%{_mandir}/man1/%{name}.1.*
%changelog
+* Sun May 31 2020 Vasiliy N. Glazov <vascom2(a)gmail.com> - 0.19-3
+- Fix wayland blackscreen
+
* Tue Apr 21 2020 Vasiliy N. Glazov <vascom2(a)gmail.com> - 0.19-2
- Enable LTO