#4 Backport a lockup fix from upstream
Closed 4 years ago by kalev. Opened 4 years ago by jankratochvil.
rpms/ jankratochvil/gtk2 master  into  master

file modified
+6 -1
@@ -20,7 +20,7 @@ 

  Summary: GTK+ graphical user interface library

  Name: gtk2

  Version: 2.24.32

- Release: 7%{?dist}

+ Release: 8%{?dist}

  License: LGPLv2+

  URL: http://www.gtk.org

  #VCS: git:git://git.gnome.org/gtk+#gtk-2-24
@@ -42,6 +42,7 @@ 

  # Backported from upstream:

  Patch20: 0001-calendar-Use-the-new-OB-format-if-supported.patch

  Patch21: 0001-Fix-compiler-warnings-with-GCC-8.1.patch

+ Patch22: gtkscrolledwindow-scrollbars-visible.patch

  

  BuildRequires: pkgconfig(atk) >= %{atk_version}

  BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
@@ -325,6 +326,10 @@ 

  %doc tmpdocs/examples

  

  %changelog

+ * Mon Mar 23 2020 Jan Kratochvil <jan.kratochvil@redhat.com> - 2.24.32-8

+ - Backport a lockup fix from upstream

+   https://bugzilla.redhat.com/show_bug.cgi?id=1806387

+ 

  * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-7

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

  

@@ -0,0 +1,21 @@ 

+ Fixing GtkScrolledWindow inconsistent scrollbar visibility. 

+ https://gitlab.gnome.org/GNOME/gtk/commit/c03a3ca6012d8797507f83ce317b74144e5bc464

+ 

+ Freeze (infinite loop) when pasting long link

+ https://developer.pidgin.im/ticket/16841

+ 

+ diff -dup -rup gtk+-2.24.32-orig/gtk/gtkscrolledwindow.c gtk+-2.24.32/gtk/gtkscrolledwindow.c

+ --- gtk+-2.24.32-orig/gtk/gtkscrolledwindow.c	2016-10-22 06:10:56.000000000 +0200

+ +++ gtk+-2.24.32/gtk/gtkscrolledwindow.c	2020-02-24 05:28:10.006973899 +0100

+ @@ -1435,9 +1435,9 @@ gtk_scrolled_window_size_allocate (GtkWi

+  	  /* If, after the first iteration, the hscrollbar and the

+  	   * vscrollbar flip visiblity, then we need both.

+  	   */

+ -	  if (count &&

+ +	  if ((count &&

+  	      previous_hvis != scrolled_window->hscrollbar_visible &&

+ -	      previous_vvis != scrolled_window->vscrollbar_visible)

+ +	      previous_vvis != scrolled_window->vscrollbar_visible) || count > 3)

+  	    {

+  	      scrolled_window->hscrollbar_visible = TRUE;

+  	      scrolled_window->vscrollbar_visible = TRUE;

Hi @jankratochvil ,

Thanks for doing the fix!

Could you do a MR upstream against gtk-2-24 branch of https://gitlab.gnome.org/GNOME/gtk first please? If it looks good to upstream developers I'd be happy to have it backported to Fedora.

@kalev the patch is ignored upstream, would you reconsider it as a downstream patch?

@jankratochvil, It's up to mclasen. Let's see what he says.

@mclasen, Does this look good to you?

So, this was just rejected upstream. I think the upstream rationale is correct and that it only makes sense to backport simple crash fixes at this point in gtk2 life. Sorry :(

Pull-Request has been closed by kalev

4 years ago

I disagree, this is a crash fix. Just instead of SEGV it does infinite lock-up. But whatever. It is sad Pidgin has to stay unusable.

Sorry. I'll defer to upstream here.

FYI even with this patch applied Pidgin has locked up again. I think it happens less often but still this is probably not the right fix (or at least not the whole fix).
https://people.redhat.com/jkratoch/pidgin-bt.txt