Hello community,
here is the log from the commit of package libyui-ncurses for
openSUSE:Leap:15.2 checked in at 2020-02-04 17:54:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/libyui-ncurses (Old)
and /work/SRC/openSUSE:Leap:15.2/.libyui-ncurses.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libyui-ncurses"
Tue Feb 4 17:54:21 2020 rev:27 rq:768912 version:2.54.5
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/libyui-ncurses/libyui-ncurses.changes
2020-01-17 11:58:35.520428810 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.libyui-ncurses.new.26092/libyui-ncurses.changes
2020-02-04 17:54:41.372759052 +0100
@@ -1,0 +2,7 @@
+Fri Jan 24 09:44:50 UTC 2020 - Michal Filka <[email protected]>
+
+- bsc#1154694
+ - do not crash UI when terminal window is too tight for table
+- 2.54.5
+
+-------------------------------------------------------------------
Old:
----
libyui-ncurses-2.54.4.tar.bz2
New:
----
libyui-ncurses-2.54.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libyui-ncurses-doc.spec ++++++
--- /var/tmp/diff_new_pack.DrMUFS/_old 2020-02-04 17:54:42.032759451 +0100
+++ /var/tmp/diff_new_pack.DrMUFS/_new 2020-02-04 17:54:42.036759453 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libyui-ncurses-doc
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define so_version 11
Name: %{parent}-doc
-Version: 2.54.4
+Version: 2.54.5
Release: 0
Source: %{parent}-%{version}.tar.bz2
++++++ libyui-ncurses.spec ++++++
--- /var/tmp/diff_new_pack.DrMUFS/_old 2020-02-04 17:54:42.052759463 +0100
+++ /var/tmp/diff_new_pack.DrMUFS/_new 2020-02-04 17:54:42.052759463 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libyui-ncurses
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: libyui-ncurses
-Version: 2.54.4
+Version: 2.54.5
Release: 0
Source: %{name}-%{version}.tar.bz2
++++++ libyui-ncurses-2.54.4.tar.bz2 -> libyui-ncurses-2.54.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.54.4/VERSION.cmake
new/libyui-ncurses-2.54.5/VERSION.cmake
--- old/libyui-ncurses-2.54.4/VERSION.cmake 2019-12-20 10:31:03.000000000
+0100
+++ new/libyui-ncurses-2.54.5/VERSION.cmake 2020-01-24 13:50:49.000000000
+0100
@@ -1,6 +1,6 @@
SET( VERSION_MAJOR "2" )
SET( VERSION_MINOR "54" )
-SET( VERSION_PATCH "4" )
+SET( VERSION_PATCH "5" )
SET( VERSION
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
##### This is need for the libyui core, ONLY.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libyui-ncurses-2.54.4/package/libyui-ncurses-doc.spec
new/libyui-ncurses-2.54.5/package/libyui-ncurses-doc.spec
--- old/libyui-ncurses-2.54.4/package/libyui-ncurses-doc.spec 2019-12-20
10:31:03.000000000 +0100
+++ new/libyui-ncurses-2.54.5/package/libyui-ncurses-doc.spec 2020-01-24
13:50:49.000000000 +0100
@@ -19,7 +19,7 @@
%define so_version 11
Name: %{parent}-doc
-Version: 2.54.4
+Version: 2.54.5
Release: 0
Source: %{parent}-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.54.4/package/libyui-ncurses.changes
new/libyui-ncurses-2.54.5/package/libyui-ncurses.changes
--- old/libyui-ncurses-2.54.4/package/libyui-ncurses.changes 2019-12-20
10:31:03.000000000 +0100
+++ new/libyui-ncurses-2.54.5/package/libyui-ncurses.changes 2020-01-24
13:50:49.000000000 +0100
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Fri Jan 24 09:44:50 UTC 2020 - Michal Filka <[email protected]>
+
+- bsc#1154694
+ - do not crash UI when terminal window is too tight for table
+- 2.54.5
+
+-------------------------------------------------------------------
Thu Dec 19 18:18:24 CET 2019 - [email protected]
- handle new sort-key when sorting tables (bsc#1140018)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.54.4/package/libyui-ncurses.spec
new/libyui-ncurses-2.54.5/package/libyui-ncurses.spec
--- old/libyui-ncurses-2.54.4/package/libyui-ncurses.spec 2019-12-20
10:31:03.000000000 +0100
+++ new/libyui-ncurses-2.54.5/package/libyui-ncurses.spec 2020-01-24
13:50:49.000000000 +0100
@@ -17,7 +17,7 @@
Name: libyui-ncurses
-Version: 2.54.4
+Version: 2.54.5
Release: 0
Source: %{name}-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.54.4/src/NCPadWidget.cc
new/libyui-ncurses-2.54.5/src/NCPadWidget.cc
--- old/libyui-ncurses-2.54.4/src/NCPadWidget.cc 2019-12-20
10:31:03.000000000 +0100
+++ new/libyui-ncurses-2.54.5/src/NCPadWidget.cc 2020-01-24
13:50:49.000000000 +0100
@@ -301,6 +301,8 @@
void NCPadWidget::wCreate( const wrect & newrect )
{
+ const int bsize = 2; // space allocated for the pad border
+
NCWidget::wCreate( newrect );
if ( win )
@@ -323,8 +325,32 @@
padrect.Sze.H, padrect.Sze.W,
padrect.Pos.L, padrect.Pos.C,
'r' );
- hsb = new NCScrollbar( *this, *win, wpos( win->maxy(), 1 ),
win->width() - 2, NCScrollbar::HORZ );
- vsb = new NCScrollbar( *this, *win, wpos( 1, win->maxx() ),
win->height() - 2, NCScrollbar::VERT );
+
+ // Scrollbar has to be at least one character large otherwise ncurses
window
+ // for the scrollbar will fail to create and we end with an exception
which
+ // crashes whole UI consequently.
+ //
+ // scrollbar size is lowered by -2 bcs there is an overhead for frames
etc.
+ if(win->width() - bsize)
+ {
+ hsb = new NCScrollbar( *this, *win, wpos( win->maxy(), 1 ),
win->width() - bsize, NCScrollbar::HORZ );
+ }
+ else
+ {
+ // no space no scrollbar, scrolling still works using arrows
+ hsb = nullptr;
+ }
+
+ if(win->height() - bsize)
+ {
+ // we have enough space for vertical scrollbar
+ vsb = new NCScrollbar( *this, *win, wpos( 1, win->maxx() ),
win->height() - bsize, NCScrollbar::VERT );
+ }
+ else
+ {
+ // no space no scrollbar, scrolling still works using arrows
+ vsb = nullptr;
+ }
}
else
{
@@ -448,13 +474,23 @@
void NCPadWidget::HScroll( unsigned total, unsigned visible, unsigned start )
{
- hsb->set( total, visible, start );
+ // horizontal scroll bar might got disabled bcs of lack of space. See
+ // NCPadWidget::wCreate
+ if(hsb)
+ {
+ hsb->set( total, visible, start );
+ }
}
void NCPadWidget::VScroll( unsigned total, unsigned visible, unsigned start )
{
- vsb->set( total, visible, start );
+ // vertical scroll bar might got disabled bcs of lack of space. See
+ // NCPadWidget::wCreate
+ if(vsb)
+ {
+ vsb->set( total, visible, start );
+ }
}