Hello community,

here is the log from the commit of package libyui-qt for openSUSE:Factory 
checked in at 2018-02-14 09:18:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-qt (Old)
 and      /work/SRC/openSUSE:Factory/.libyui-qt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui-qt"

Wed Feb 14 09:18:58 2018 rev:46 rq:573804 version:2.49.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-qt/libyui-qt.changes      2017-08-22 
11:04:48.433117357 +0200
+++ /work/SRC/openSUSE:Factory/.libyui-qt.new/libyui-qt.changes 2018-02-14 
09:19:00.326914277 +0100
@@ -1,0 +2,22 @@
+Mon Jan  8 17:09:26 UTC 2018 - shundham...@suse.com
+
+- Prevent segfault if an open dialog is left over (bsc#1074596):
+  Don't do anything widget related after the QApplication is
+  destroyed, in particular not deleting other widgets, even if
+  indirectly via YDialog::deleteAllDialogs() in YUI.
+# 2.49.1
+
+-------------------------------------------------------------------
+Mon Dec 18 09:40:35 UTC 2017 - mvid...@suse.com
+
+- Don't probe X11 display, for better integration
+  with Wayland (bsc#1072411)
+- 2.48.1
+
+-------------------------------------------------------------------
+Wed Nov 15 17:25:54 CET 2017 - shundham...@suse.de
+
+- Send a widget ID with Shift-F6 for automated testing (fate#324098)
+- 2.48.0
+
+-------------------------------------------------------------------

Old:
----
  libyui-qt-2.47.3.tar.bz2

New:
----
  libyui-qt-2.49.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libyui-qt-doc.spec ++++++
--- /var/tmp/diff_new_pack.qZTiuy/_old  2018-02-14 09:19:01.222881801 +0100
+++ /var/tmp/diff_new_pack.qZTiuy/_new  2018-02-14 09:19:01.230881511 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libyui-qt-doc
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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 8
 
 Name:           %{parent}-doc
-Version:        2.47.3
+Version:        2.49.1
 Release:        0
 Source:         %{parent}-%{version}.tar.bz2
 
@@ -31,7 +31,7 @@
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  graphviz-gnome
-BuildRequires:  libyui-devel >= 3.0.4
+BuildRequires:  libyui-devel >= 3.4.0
 BuildRequires:  texlive-latex
 
 Url:            http://github.com/libyui/

++++++ libyui-qt.spec ++++++
--- /var/tmp/diff_new_pack.qZTiuy/_old  2018-02-14 09:19:01.278879772 +0100
+++ /var/tmp/diff_new_pack.qZTiuy/_new  2018-02-14 09:19:01.290879337 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libyui-qt
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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-qt
-Version:        2.47.3
+Version:        2.49.1
 Release:        0
 Source:         %{name}-%{version}.tar.bz2
 
@@ -29,12 +29,13 @@
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 
-%define libyui_devel_version libyui-devel >= 3.1.2
+%define libyui_devel_version libyui-devel >= 3.4.0
 BuildRequires:  %{libyui_devel_version}
 BuildRequires:  fontconfig-devel
 BuildRequires:  pkgconfig(Qt5Core)
 BuildRequires:  pkgconfig(Qt5Gui)
 BuildRequires:  pkgconfig(Qt5Svg)
+BuildRequires:  pkgconfig(Qt5Svg)
 BuildRequires:  pkgconfig(Qt5Widgets)
 BuildRequires:  pkgconfig(Qt5X11Extras)
 Provides:       yui_backend = %{so_version}

++++++ libyui-qt-2.47.3.tar.bz2 -> libyui-qt-2.49.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/VERSION.cmake 
new/libyui-qt-2.49.1/VERSION.cmake
--- old/libyui-qt-2.47.3/VERSION.cmake  2017-08-16 10:49:12.651502426 +0200
+++ new/libyui-qt-2.49.1/VERSION.cmake  2018-02-07 17:11:06.000000000 +0100
@@ -1,11 +1,11 @@
 SET(VERSION_MAJOR "2")
-SET(VERSION_MINOR "47")
-SET(VERSION_PATCH "3")
+SET(VERSION_MINOR "49")
+SET(VERSION_PATCH "1")
 SET( VERSION 
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
 
-##### This is need for the libyui core, ONLY.
+##### This is needed for the libyui-qt core ONLY.
 ##### These will be overridden from exports in LibyuiConfig.cmake
 SET( SONAME_MAJOR "5" )
-SET( SONAME_MINOR "0" )
+SET( SONAME_MINOR "1" )
 SET( SONAME_PATCH "0" )
 SET( SONAME "${SONAME_MAJOR}.${SONAME_MINOR}.${SONAME_PATCH}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/package/libyui-qt-doc.spec 
new/libyui-qt-2.49.1/package/libyui-qt-doc.spec
--- old/libyui-qt-2.47.3/package/libyui-qt-doc.spec     2017-08-16 
10:49:12.655502426 +0200
+++ new/libyui-qt-2.49.1/package/libyui-qt-doc.spec     2018-02-07 
17:11:06.000000000 +0100
@@ -20,7 +20,7 @@
 %define so_version 8
 
 Name:           %{parent}-doc
-Version:        2.47.3
+Version:        2.49.1
 Release:        0
 Source:         %{parent}-%{version}.tar.bz2
 
@@ -31,8 +31,8 @@
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  graphviz-gnome
-BuildRequires:  libyui-devel >= 3.0.4
 BuildRequires:  texlive-latex
+BuildRequires:  libyui-devel >= 3.4.0
 
 Url:            http://github.com/libyui/
 Summary:        Libyui-qt documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/package/libyui-qt.changes 
new/libyui-qt-2.49.1/package/libyui-qt.changes
--- old/libyui-qt-2.47.3/package/libyui-qt.changes      2017-08-16 
10:49:12.655502426 +0200
+++ new/libyui-qt-2.49.1/package/libyui-qt.changes      2018-02-07 
17:11:06.000000000 +0100
@@ -1,4 +1,26 @@
 -------------------------------------------------------------------
+Mon Jan  8 17:09:26 UTC 2018 - shundham...@suse.com
+
+- Prevent segfault if an open dialog is left over (bsc#1074596):
+  Don't do anything widget related after the QApplication is
+  destroyed, in particular not deleting other widgets, even if
+  indirectly via YDialog::deleteAllDialogs() in YUI.
+# 2.49.1
+
+-------------------------------------------------------------------
+Mon Dec 18 09:40:35 UTC 2017 - mvid...@suse.com
+
+- Don't probe X11 display, for better integration
+  with Wayland (bsc#1072411)
+- 2.48.1
+
+-------------------------------------------------------------------
+Wed Nov 15 17:25:54 CET 2017 - shundham...@suse.de
+
+- Send a widget ID with Shift-F6 for automated testing (fate#324098)
+- 2.48.0
+
+-------------------------------------------------------------------
 Wed Aug 16 07:33:14 UTC 2017 - lsle...@suse.cz
 
 - Removed an obsolete non-working Qt initialization hack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/package/libyui-qt.spec 
new/libyui-qt-2.49.1/package/libyui-qt.spec
--- old/libyui-qt-2.47.3/package/libyui-qt.spec 2017-08-16 10:49:12.655502426 
+0200
+++ new/libyui-qt-2.49.1/package/libyui-qt.spec 2018-02-07 17:11:06.000000000 
+0100
@@ -17,7 +17,7 @@
 
 
 Name:           libyui-qt
-Version:        2.47.3
+Version:        2.49.1
 Release:        0
 Source:         %{name}-%{version}.tar.bz2
 
@@ -29,7 +29,7 @@
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 
-%define libyui_devel_version libyui-devel >= 3.1.2
+%define libyui_devel_version libyui-devel >= 3.4.0
 BuildRequires:  %{libyui_devel_version}
 BuildRequires:  fontconfig-devel
 BuildRequires:  pkgconfig(Qt5Core)
@@ -37,6 +37,7 @@
 BuildRequires:  pkgconfig(Qt5Widgets)
 BuildRequires:  pkgconfig(Qt5Svg)
 BuildRequires:  pkgconfig(Qt5X11Extras)
+BuildRequires:  pkgconfig(Qt5Svg)
 Provides:       yui_backend = %{so_version}
 
 Url:            http://github.com/libyui/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/src/YQDialog.cc 
new/libyui-qt-2.49.1/src/YQDialog.cc
--- old/libyui-qt-2.47.3/src/YQDialog.cc        2017-08-16 10:49:12.663502426 
+0200
+++ new/libyui-qt-2.49.1/src/YQDialog.cc        2018-02-07 17:11:06.000000000 
+0100
@@ -635,6 +635,11 @@
            }
            return;
        }
+        else if ( event->key()       == Qt::Key_F6 &&  // Shift-F6: ask for a 
widget ID and send it
+                 event->modifiers() == Qt::ShiftModifier )
+        {
+            YQUI::ui()->askSendWidgetID();
+        }
        else if ( event->key()       == Qt::Key_F7 &&   // Shift-F7: toggle 
debug logging
                  event->modifiers() == Qt::ShiftModifier )
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/src/YQUI.cc 
new/libyui-qt-2.49.1/src/YQUI.cc
--- old/libyui-qt-2.47.3/src/YQUI.cc    2017-08-16 10:49:12.671502426 +0200
+++ new/libyui-qt-2.49.1/src/YQUI.cc    2018-02-07 17:11:06.000000000 +0100
@@ -22,7 +22,7 @@
 
 /-*/
 
-#include <rpc/types.h>         // MAXHOSTNAMELEN
+#include <sys/param.h>         // MAXHOSTNAMELEN
 #include <dlfcn.h>
 #include <libintl.h>
 #include <algorithm>
@@ -36,6 +36,8 @@
 #include <QCursor>
 #include <QLocale>
 #include <QMessageLogContext>
+#include <QMessageBox>
+#include <QInputDialog>
 
 
 #define YUILogComponent "qt-ui"
@@ -55,6 +57,8 @@
 #include "YQWidgetFactory.h"
 #include "YQOptionalWidgetFactory.h"
 
+#include "YQWizardButton.h"
+
 #include "YQi18n.h"
 #include "utf8.h"
 
@@ -145,9 +149,6 @@
     _ui_argc     = cmdLine.argc();
     char ** argv = cmdLine.argv();
 
-    // Probe X11 display for better error handling if it can't be opened
-    probeX11Display( cmdLine );
-
     yuiDebug() << "Creating QApplication" << std::endl;
     new QApplication( _ui_argc, argv );
     Q_CHECK_PTR( qApp );
@@ -310,7 +311,7 @@
 
 YQUI::~YQUI()
 {
-    yuiDebug() <<"Closing down Qt UI." << std::endl;
+    yuiMilestone() <<"Closing down Qt UI." << std::endl;
 
     // Intentionally NOT calling dlclose() to libqt-mt
     // (see constructor for explanation)
@@ -327,8 +328,18 @@
 void
 YQUI::uiThreadDestructor()
 {
+    yuiMilestone() <<"Destroying UI thread" << std::endl;
+
     if ( qApp ) // might already be reset to 0 internally from Qt
     {
+       if ( YDialog::openDialogsCount() > 0 )
+        {
+           yuiError() << YDialog::openDialogsCount() << " open dialogs left 
over" << endl;
+            yuiError() << "Topmost dialog:" << endl;
+            YDialog::topmostDialog()->dumpWidgetTree();
+        }
+
+       YDialog::deleteAllDialogs();
        qApp->exit();
        qApp->deleteLater();
     }
@@ -569,28 +580,7 @@
 
 void YQUI::probeX11Display( const YCommandLine & cmdLine )
 {
-    int displayArgPos = cmdLine.find( "-display" );
-    std::string displayNameStr;
-
-    if ( displayArgPos > 0 && displayArgPos+1 < cmdLine.argc() )
-    {
-       displayNameStr = cmdLine[ displayArgPos+1 ];
-       yuiMilestone() << "Using X11 display \"" << displayNameStr << "\"" << 
std::endl;
-    }
-
-    const char * displayName = ( displayNameStr.empty() ? 0 : 
displayNameStr.c_str() );
-    Display * display = XOpenDisplay( displayName );
-
-    if ( display )
-    {
-       yuiDebug() << "Probing X11 display successful" << std::endl;
-       XCloseDisplay( display );
-    }
-    else
-    {
-       string msg = "Can't open display " + displayNameStr;
-       YUI_THROW( YUIException( msg ) );
-    }
+    // obsolete, see https://bugzilla.suse.com/show_bug.cgi?id=1072411
 }
 
 
@@ -608,6 +598,43 @@
 }
 
 
+void YQUI::askSendWidgetID()
+{
+    QWidget * parent = 0;
+    YDialog * dialog = YDialog::currentDialog( false ); // doThrow
+
+    if ( dialog )
+        parent = (QWidget *) dialog->widgetRep();
+
+    QString id = QInputDialog::getText( parent,
+                                        _( "Widget ID" ), // dialog title
+                                        _( "Enter Widget ID:" ) // label
+                                        );
+    if ( ! id.isEmpty() )
+    {
+        try
+        {
+            YWidget * widget = sendWidgetID( toUTF8( id ) );
+            YQGenericButton * yqButton = dynamic_cast<YQGenericButton *>( 
widget );
+
+            if ( yqButton )
+            {
+                yuiMilestone() << "Activating " << widget << endl;
+                yqButton->activate();
+            }
+        }
+        catch ( YUIWidgetNotFoundException & ex )
+        {
+            YUI_CAUGHT( ex );
+            QMessageBox::warning( parent,
+                                  _( "Error" ), // title
+                                  _( "No widget with ID \"%1\"" ).arg( id ) );
+        }
+    }
+}
+
+
+
 
 
 YQUISignalReceiver::YQUISignalReceiver()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.47.3/src/YQUI.h 
new/libyui-qt-2.49.1/src/YQUI.h
--- old/libyui-qt-2.47.3/src/YQUI.h     2017-08-16 10:49:12.671502426 +0200
+++ new/libyui-qt-2.49.1/src/YQUI.h     2018-02-07 17:11:06.000000000 +0100
@@ -217,6 +217,12 @@
     void askPlayMacro();
 
     /**
+     * Open a pop-up dialog to ask the user for a widget ID and then send it
+     * with sendWidgetID().
+     **/
+    void askSendWidgetID();
+
+    /**
      * Block (or unblock) events. If events are blocked, any event sent
      * should be ignored until events are unblocked again.
      *
@@ -274,12 +280,12 @@
      * Returns the application name for the window title (e.g. 
"YaST2@hostname")
      **/
     QString applicationTitle() { return _applicationTitle; }
-    
+
     /**
      * Sets the application name for the window title
      **/
     void setApplicationTitle(const QString& title) { _applicationTitle=title; }
-    
+
 protected:
 
     /**


Reply via email to