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 - jsrain@suse.cz + +- Added handling of logo bar in wizard (bnc#868722) +- 3.1.2 + +------------------------------------------------------------------- +Wed Apr 16 14:20:41 UTC 2014 - mvidner@suse.com + +- 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 - jsrain@suse.cz + +- Added handling of logo bar in wizard (bnc#868722) +- 3.1.2 + +------------------------------------------------------------------- +Wed Apr 16 14:20:41 UTC 2014 - mvidner@suse.com + +- Fix YQUI destruction (bnc#867296). +- 3.1.1 + +------------------------------------------------------------------- Wed Apr 9 12:44:17 UTC 2014 - mvidner@suse.com - 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: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de