Hello community,

here is the log from the commit of package libyui for openSUSE:Factory checked 
in at 2014-05-06 13:40:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui (Old)
 and      /work/SRC/openSUSE:Factory/.libyui.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui/libyui.changes    2014-04-13 
13:13:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libyui.new/libyui.changes       2014-05-06 
13:40:27.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Apr 17 07:01:08 UTC 2014 - [email protected]
+
+- Added handling of logo bar in wizard (bnc#868722)
+- 3.1.2
+
+-------------------------------------------------------------------
+Wed Apr 16 14:20:41 UTC 2014 - [email protected]
+
+- Fix YQUI destruction (bnc#867296).
+- 3.1.1
+
+-------------------------------------------------------------------

Old:
----
  libyui-3.1.0.tar.bz2

New:
----
  libyui-3.1.2.tar.bz2

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

Other differences:
------------------
++++++ libyui-doc.spec ++++++
--- /var/tmp/diff_new_pack.FJ345s/_old  2014-05-06 13:40:28.000000000 +0200
+++ /var/tmp/diff_new_pack.FJ345s/_new  2014-05-06 13:40:28.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libyui-doc
-Version:        3.1.0
+Version:        3.1.2
 Release:        0
 Source:         libyui-%{version}.tar.bz2
 

++++++ libyui.spec ++++++
--- /var/tmp/diff_new_pack.FJ345s/_old  2014-05-06 13:40:28.000000000 +0200
+++ /var/tmp/diff_new_pack.FJ345s/_new  2014-05-06 13:40:28.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libyui
-Version:        3.1.0
+Version:        3.1.2
 Release:        0
 Source:         libyui-%{version}.tar.bz2
 

++++++ libyui-3.1.0.tar.bz2 -> libyui-3.1.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/ChangeLog new/libyui-3.1.2/ChangeLog
--- old/libyui-3.1.0/ChangeLog  2014-04-10 11:27:37.000000000 +0200
+++ new/libyui-3.1.2/ChangeLog  2014-04-18 13:07:40.000000000 +0200
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------
+Thu Apr 17 07:01:08 UTC 2014 - [email protected]
+
+- Added handling of logo bar in wizard (bnc#868722)
+- 3.1.2
+
+-------------------------------------------------------------------
+Wed Apr 16 14:20:41 UTC 2014 - [email protected]
+
+- Fix YQUI destruction (bnc#867296).
+- 3.1.1
+
+-------------------------------------------------------------------
 Wed Apr  9 12:44:17 UTC 2014 - [email protected]
 
 - Added YUIOpt_titleOnLeft, YWizardMode_TitleOnLeft (bnc#868859)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/Rakefile new/libyui-3.1.2/Rakefile
--- old/libyui-3.1.0/Rakefile   2014-03-12 15:47:44.000000000 +0100
+++ new/libyui-3.1.2/Rakefile   2014-04-22 17:47:44.000000000 +0200
@@ -13,10 +13,17 @@
 Packaging.configuration do |conf|
   spec_template = Dir.glob("*.spec.{in,cmake}").first
 
-  conf.obs_project = "devel:libraries:libyui"
-  conf.obs_sr_project = "openSUSE:Factory"
+  if ENV["LIBYUI_SUBMIT"] == "SLES"
+    conf.obs_api        = "https://api.suse.de/";
+    conf.obs_project    = "Devel:YaST:Head"
+    conf.obs_target     = "SLE-12"
+    conf.obs_sr_project = "SUSE:SLE-12:GA"
+  else
+    conf.obs_project    = "devel:libraries:libyui"
+    conf.obs_sr_project = "openSUSE:Factory"
+  end
   conf.package_name = spec_template[/(.*)\.spec\..*/, 1]
-  conf.package_dir = "#{BUILDDIR}/package"
+  conf.package_dir  = "#{BUILDDIR}/package"
 
   conf.skip_license_check << /.*/ if conf.package_name =~ /gtk|bindings/
   conf.skip_license_check << /bootstrap.sh|ChangeLog|Makefile.cvs/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/VERSION.cmake 
new/libyui-3.1.2/VERSION.cmake
--- old/libyui-3.1.0/VERSION.cmake      2014-04-10 11:27:37.000000000 +0200
+++ new/libyui-3.1.2/VERSION.cmake      2014-04-18 13:07:40.000000000 +0200
@@ -1,6 +1,6 @@
 SET( VERSION_MAJOR "3")
 SET( VERSION_MINOR "1" )
-SET( VERSION_PATCH "0" )
+SET( VERSION_PATCH "2" )
 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-3.1.0/src/Notes.h new/libyui-3.1.2/src/Notes.h
--- old/libyui-3.1.0/src/Notes.h        1970-01-01 01:00:00.000000000 +0100
+++ new/libyui-3.1.2/src/Notes.h        2014-04-17 10:45:29.000000000 +0200
@@ -0,0 +1,43 @@
+/*
+  Copyright (C) 2014 SUSE LLC
+  This library is free software; you can redistribute it and/or modify
+  it under the terms of the GNU Lesser General Public License as
+  published by the Free Software Foundation; either version 2.1 of the
+  License, or (at your option) version 3.0 of the License. This library
+  is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+  License for more details. You should have received a copy of the GNU
+  Lesser General Public License along with this library; if not, write
+  to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
+  Floor, Boston, MA 02110-1301 USA
+*/
+/**
+@page notes1 Notes about Initialization
+
+@section Important entry points
+
+- YUI::widgetFactory()
+- YUI::ui()
+
+@section What happens on initialization
+
+YUI::ui()
+calls YUI::ensureUICreated()
+calls YUILoader::loadUI
+calls YUILoader::loadPlugin.
+That instantiates YUIPlugin(string plugin_name) and
+calls its YUIPlugin::locateSymbol "_Z8createUIb"
+  (mangled createUI(bool) )
+to produce a YUI * (* createUIFunction_t)(bool withThreads)
+which is called. Its result is discarded, but YUI::_ui gets initialized
+by the YUI::YUI ctor called by the derived ctor.
+
+YUIPlugin calls dlopen, but dlclose is not called by default,
+and actually proably never.
+
+@section Utility classes
+
+- YCommandLine
+
+ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/src/YApplication.cc 
new/libyui-3.1.2/src/YApplication.cc
--- old/libyui-3.1.0/src/YApplication.cc        2014-02-18 17:12:09.000000000 
+0100
+++ new/libyui-3.1.2/src/YApplication.cc        2014-04-18 13:07:40.000000000 
+0200
@@ -46,6 +46,7 @@
     YApplicationPrivate()
        : productName( "openSUSE" )
        , reverseLayout( false )
+       , showProductLogo( false )
        {}
 
     std::string                productName;
@@ -55,6 +56,7 @@
     YFunctionKeyMap    defaultFunctionKey;
     YIconLoader*       iconLoader;
     std::map<std::string,std::string>  releaseNotes;
+    bool               showProductLogo;
 };
 
 
@@ -132,6 +134,18 @@
 }
 
 void
+YApplication::setShowProductLogo( bool show )
+{
+    priv->showProductLogo = show;
+}
+
+bool
+YApplication::showProductLogo() const
+{
+    return priv->showProductLogo;
+}
+
+void
 YApplication::setReverseLayout( bool reverse )
 {
     priv->reverseLayout = reverse;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/src/YApplication.h 
new/libyui-3.1.2/src/YApplication.h
--- old/libyui-3.1.0/src/YApplication.h 2014-02-18 17:12:09.000000000 +0100
+++ new/libyui-3.1.2/src/YApplication.h 2014-04-18 13:07:40.000000000 +0200
@@ -263,6 +263,16 @@
     std::map<std::string,std::string> releaseNotes() const;
 
     /**
+     * Set whether the product logo (in top bar) should be shown
+     */
+    void setShowProductLogo( bool show );
+
+    /**
+     * Return true if product logo should be shown
+     */
+    bool showProductLogo() const;
+
+    /**
      * Convert logical layout spacing units into device dependent units.
      * A default size dialog is assumed to be 80x25 layout spacing units.
      *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/src/YUI.cc new/libyui-3.1.2/src/YUI.cc
--- old/libyui-3.1.0/src/YUI.cc 2014-02-18 17:12:09.000000000 +0100
+++ new/libyui-3.1.2/src/YUI.cc 2014-04-17 10:45:29.000000000 +0200
@@ -494,52 +494,4 @@
     return 0;
 }
 
-
-//
-// ----------------------------------------------------------------------
-//
-
-
-/**
- * Helper class to make sure the UI is properly shut down.
- **/
-class YUITerminator
-{
-public:
-    YUITerminator() {}
-
-    /**
-     * Destructor.
-     *
-     * If there still is a UI, it will be deleted.
-     * If there is none, this will do nothing.
-     **/
-    ~YUITerminator();
-};
-
-
-YUITerminator::~YUITerminator()
-{
-    if ( YUI::_ui )
-    {
-       yuiMilestone() << "Shutting down UI" << endl;
-       delete YUI::_ui;
-
-       YUI::_ui = 0;
-    }
-}
-
-
-/**
- * Static YUITerminator instance: It will make sure the UI is deleted in its
- * global destructor. If the UI is already destroyed, it will do nothing. If
- * there still is a UI object, it will be deleted.
- *
- * This is particularly important for the NCurses UI so the terminal settings
- * are properly restored.
- **/
-static YUITerminator uiTerminator;
-
-
-
 // EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/src/YUI.h new/libyui-3.1.2/src/YUI.h
--- old/libyui-3.1.0/src/YUI.h  2014-02-18 17:12:09.000000000 +0100
+++ new/libyui-3.1.2/src/YUI.h  2014-04-17 10:45:29.000000000 +0200
@@ -48,7 +48,7 @@
 class YUI
 {
     friend class YUIFunction;
-    friend class YUITerminator;
+    friend class YUILoader;
 
 protected:
     /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/src/YUILoader.cc 
new/libyui-3.1.2/src/YUILoader.cc
--- old/libyui-3.1.0/src/YUILoader.cc   2014-02-18 17:12:09.000000000 +0100
+++ new/libyui-3.1.2/src/YUILoader.cc   2014-04-17 10:45:29.000000000 +0200
@@ -27,6 +27,8 @@
 #include <sys/stat.h>
 #include <string.h>
 
+#define YUILogComponent "ui"
+#include "YUILog.h"
 #include "YCommandLine.h"
 #include "YUILoader.h"
 #include "YUIPlugin.h"
@@ -95,6 +97,16 @@
     }
 }
 
+void YUILoader::deleteUI()
+{
+    if ( YUI::_ui )
+    {
+        yuiMilestone() << "Shutting down UI" << std::endl;
+        delete YUI::_ui;
+
+        YUI::_ui = 0;
+    }
+}
 
 void YUILoader::loadPlugin( const std::string & name, bool withThreads )
 {
@@ -108,6 +120,14 @@
        {
            YUI * ui = createUI( withThreads ); // no threads
 
+            // At this point the concrete UI will have loaded its own
+            // internal plugins and registered their destructors.
+            // Our destructor must get called before those get dlclose'd.
+            //
+            // Formerly ~YUI was called quite late, which called ~YQUI
+            // and that ran code in the already unloaded Qt internal plugins.
+            atexit(deleteUI);
+
            if ( ui )
                return;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-3.1.0/src/YUILoader.h 
new/libyui-3.1.2/src/YUILoader.h
--- old/libyui-3.1.0/src/YUILoader.h    2014-02-18 17:12:09.000000000 +0100
+++ new/libyui-3.1.2/src/YUILoader.h    2014-04-17 10:45:29.000000000 +0200
@@ -53,6 +53,16 @@
     static void loadUI( bool withThreads = false );
 
     /**
+     * This will make sure the UI singleton is deleted.
+     * If the UI is already destroyed, it will do nothing. If
+     * there still is a UI object, it will be deleted.
+     *
+     * This is particularly important for the NCurses UI so that
+     * the terminal settings are properly restored.
+     **/
+    static void deleteUI();
+
+    /**
      * Load a UI plug-in. 'name' is one of the YUIPlugin_ -defines above.
      *
      * This might throw exceptions.

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to