Hello community,
here is the log from the commit of package yast2-qt
checked in at Sat Apr 1 00:07:29 CEST 2006.
--------
--- yast2-qt/yast2-qt.changes 2006-03-29 12:09:09.000000000 +0200
+++ yast2-qt/yast2-qt.changes 2006-03-31 22:04:04.000000000 +0200
@@ -1,0 +2,17 @@
+Fri Mar 31 22:02:38 CEST 2006 - sh@suse.de
+
+- V 2.13.44
+- Fixed bug #161860: Pattern selector layout out of proportion
+
+-------------------------------------------------------------------
+Fri Mar 31 18:34:56 CEST 2006 - sh@suse.de
+
+- Fixed bug #152700: Automatic changes dialog displays garbage
+
+-------------------------------------------------------------------
+Wed Mar 29 21:20:47 CEST 2006 - sh@suse.de
+
+- V 2.13.43
+- Fixed bug #121872: segfault at program end if no Qt style defined
+
+-------------------------------------------------------------------
Old:
----
yast2-qt-2.13.42.tar.bz2
New:
----
yast2-qt-2.13.44.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-qt.spec ++++++
--- /var/tmp/diff_new_pack.7KhX8W/_old 2006-04-01 00:06:58.000000000 +0200
+++ /var/tmp/diff_new_pack.7KhX8W/_new 2006-04-01 00:06:58.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-qt (Version 2.13.42)
+# spec file for package yast2-qt (Version 2.13.44)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-qt
-Version: 2.13.42
+Version: 2.13.44
Release: 1
License: GPL
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-qt-2.13.42.tar.bz2
+Source0: yast2-qt-2.13.44.tar.bz2
prefix: /usr
BuildRequires: boost-devel curl-devel dbus-1-devel docbook-xsl-stylesheets doxygen hal-devel libdrm-devel libjpeg-devel libxcrypt-devel libxslt libzypp-devel perl-XML-Writer qt3-devel rpm-devel sgml-skel update-desktop-files yast2-core-devel yast2-devtools
Summary: YaST2 - Graphical User Interface
@@ -42,7 +42,7 @@
Stefan Hundhammer
%prep
-%setup -n yast2-qt-2.13.42
+%setup -n yast2-qt-2.13.44
%build
%{prefix}/bin/y2tool y2autoconf
@@ -80,6 +80,14 @@
%doc %{prefix}/share/doc/packages/yast2-qt
%changelog -n yast2-qt
+* Fri Mar 31 2006 - sh@suse.de
+- V 2.13.44
+- Fixed bug #161860: Pattern selector layout out of proportion
+* Fri Mar 31 2006 - sh@suse.de
+- Fixed bug #152700: Automatic changes dialog displays garbage
+* Wed Mar 29 2006 - sh@suse.de
+- V 2.13.43
+- Fixed bug #121872: segfault at program end if no Qt style defined
* Wed Mar 29 2006 - sh@suse.de
- V 2.13.42
- Fixed broken umlaut characters in pattern categories
++++++ yast2-qt-2.13.42.tar.bz2 -> yast2-qt-2.13.44.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/VERSION new/yast2-qt-2.13.44/VERSION
--- old/yast2-qt-2.13.42/VERSION 2006-03-29 12:07:59.000000000 +0200
+++ new/yast2-qt-2.13.44/VERSION 2006-03-31 18:34:53.000000000 +0200
@@ -1 +1 @@
-2.13.42
+2.13.44
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/Makefile.am new/yast2-qt-2.13.44/src/Makefile.am
--- old/yast2-qt-2.13.42/src/Makefile.am 2006-03-10 18:33:32.000000000 +0100
+++ new/yast2-qt-2.13.44/src/Makefile.am 2006-03-29 20:34:53.000000000 +0200
@@ -12,6 +12,7 @@
-DTHEMEDIR=\"${themedir}/current\" \
-DHELPIMAGEDIR=\"${imagedir}\" \
-DLANG_FONTS_FILE=\"${lang_fontsdir}/lang_fonts\" \
+ -DQTLIBDIR=\"$(QTLIBDIR)\" \
-fmessage-length=0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/Makefile.in new/yast2-qt-2.13.44/src/Makefile.in
--- old/yast2-qt-2.13.42/src/Makefile.in 2006-03-27 17:07:24.000000000 +0200
+++ new/yast2-qt-2.13.44/src/Makefile.in 2006-03-29 20:35:09.000000000 +0200
@@ -303,6 +303,7 @@
-DTHEMEDIR=\"${themedir}/current\" \
-DHELPIMAGEDIR=\"${imagedir}\" \
-DLANG_FONTS_FILE=\"${lang_fontsdir}/lang_fonts\" \
+ -DQTLIBDIR=\"$(QTLIBDIR)\" \
-fmessage-length=0
MOC = $(QTDIR)/bin/moc
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQPackageSelector.cc new/yast2-qt-2.13.44/src/YQPackageSelector.cc
--- old/yast2-qt-2.13.42/src/YQPackageSelector.cc 2006-03-27 15:34:02.000000000 +0200
+++ new/yast2-qt-2.13.44/src/YQPackageSelector.cc 2006-03-31 21:16:36.000000000 +0200
@@ -228,16 +228,19 @@
CHECK_PTR( splitter );
splitter->setMargin( MARGIN );
- QVBox * vbox = new QVBox( splitter );
- CHECK_PTR( vbox );
- layoutFilters( vbox );
- addVSpacing( vbox, MARGIN );
-
- vbox = new QVBox( splitter );
- addVSpacing( vbox, MARGIN );
- _diskUsageList = new YQPkgDiskUsageList( vbox );
+ QVBox * upper_vbox = new QVBox( splitter );
+ CHECK_PTR( upper_vbox );
+ layoutFilters( upper_vbox );
+ addVSpacing( upper_vbox, MARGIN );
+
+ QVBox * lower_vbox = new QVBox( splitter );
+ addVSpacing( lower_vbox, MARGIN );
+ _diskUsageList = new YQPkgDiskUsageList( lower_vbox );
CHECK_PTR( _diskUsageList );
+ splitter->setResizeMode( upper_vbox, QSplitter::Stretch );
+ splitter->setResizeMode( lower_vbox, QSplitter::FollowSizeHint );
+
return splitter;
}
@@ -340,7 +343,9 @@
_langList = new YQPkgLangList( parent );
CHECK_PTR( _langList );
+
_filters->addPage( _( "Languages" ), _langList );
+ _langList->setSizePolicy( QSizePolicy( QSizePolicy::Ignored, QSizePolicy::Ignored ) ); // hor/vert
connect( _langList, SIGNAL( statusChanged() ),
this, SLOT ( autoResolveDependencies() ) );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQPatternSelector.cc new/yast2-qt-2.13.44/src/YQPatternSelector.cc
--- old/yast2-qt-2.13.42/src/YQPatternSelector.cc 2006-03-17 18:26:17.000000000 +0100
+++ new/yast2-qt-2.13.44/src/YQPatternSelector.cc 2006-03-31 21:57:43.000000000 +0200
@@ -52,7 +52,6 @@
#define MARGIN 6
-
YQPatternSelector::YQPatternSelector( QWidget * parent,
const YWidgetOpt & opt )
: YQPackageSelectorBase( parent, opt )
@@ -113,8 +112,11 @@
QWidget * left_pane = layoutLeftPane ( outer_splitter );
QWidget * right_pane = layoutRightPane( outer_splitter );
- outer_splitter->setResizeMode( left_pane, QSplitter::Stretch );
- outer_splitter->setResizeMode( right_pane, QSplitter::FollowSizeHint );
+ int left_pane_width = (int) ( 0.3 * YQUI::ui()->defaultSize( YD_HORIZ ) );
+ left_pane->resize( QSize( left_pane_width, left_pane->height() ) );
+
+ outer_splitter->setResizeMode( left_pane, QSplitter::KeepSize );
+ outer_splitter->setResizeMode( right_pane, QSplitter::Stretch );
if ( ! _wizard )
layoutButtons( this );
@@ -182,7 +184,6 @@
addHStretch( hbox );
}
-
return vbox;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQPkgChangesDialog.cc new/yast2-qt-2.13.44/src/YQPkgChangesDialog.cc
--- old/yast2-qt-2.13.42/src/YQPkgChangesDialog.cc 2006-03-09 14:38:36.000000000 +0100
+++ new/yast2-qt-2.13.44/src/YQPkgChangesDialog.cc 2006-03-31 18:18:59.000000000 +0200
@@ -31,6 +31,7 @@
#include "YQZypp.h"
#include
+#include
#include "YQPkgChangesDialog.h"
#include "YQPkgList.h"
@@ -38,6 +39,9 @@
#include "YQi18n.h"
#include "YQUI.h"
+using std::set;
+using std::string;
+
#define SPACING 2 // between subwidgets
#define MARGIN 4 // around the widget
@@ -131,8 +135,6 @@
addHStretch( hbox );
}
-
- filter();
}
@@ -149,6 +151,11 @@
YQUI::ui()->busyCursor();
_pkgList->clear();
+ set<string> ignoredNames;
+
+ if ( ! byUser || ! byApp )
+ ignoredNames = zypp::ui::userWantedPackageNames();
+
for ( ZyppPoolIterator it = zyppPkgBegin();
it != zyppPkgEnd();
++it )
@@ -165,7 +172,10 @@
( modifiedBy == zypp::ResStatus::USER ) && byUser )
{
if ( regexp.isEmpty() || regexp.search( selectable->name().c_str() ) >= 0 )
- _pkgList->addPkgItem( selectable, tryCastToZyppPkg( selectable->theObj() ) );
+ {
+ if ( ! contains( ignoredNames, selectable->name() ) )
+ _pkgList->addPkgItem( selectable, tryCastToZyppPkg( selectable->theObj() ) );
+ }
}
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQPkgDiskUsageList.cc new/yast2-qt-2.13.44/src/YQPkgDiskUsageList.cc
--- old/yast2-qt-2.13.42/src/YQPkgDiskUsageList.cc 2006-03-17 18:13:18.000000000 +0100
+++ new/yast2-qt-2.13.44/src/YQPkgDiskUsageList.cc 2006-03-31 21:14:57.000000000 +0200
@@ -111,6 +111,7 @@
y2error( "No entry for mount point %s", partitionDu.dir.c_str() );
}
+ sort();
postPendingWarnings();
}
@@ -148,7 +149,7 @@
int width = header()->headerWidth()
+ style().pixelMetric( QStyle::PM_ScrollBarExtent, verticalScrollBar() );
- return QSize( width, 120 );
+ return QSize( width, 100 );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQPkgPatchList.cc new/yast2-qt-2.13.44/src/YQPkgPatchList.cc
--- old/yast2-qt-2.13.42/src/YQPkgPatchList.cc 2006-03-23 17:52:45.000000000 +0100
+++ new/yast2-qt-2.13.44/src/YQPkgPatchList.cc 2006-03-29 12:41:32.000000000 +0200
@@ -141,9 +141,6 @@
{
ZyppPatchContents patchContents( patch );
- zypp::Patch::AtomList atomList = patch->atoms();
- y2debug( "Filtering for patch %s: %d atoms", patch->name().c_str(), atomList.size() );
-
for ( ZyppPatchContentsIterator it = patchContents.begin();
it != patchContents.end();
++it )
@@ -177,12 +174,21 @@
else // No ZyppPkg - some other kind of object (script, message)
{
if ( zypp::isKindzypp::Script ( *it ) )
+ {
+ y2debug( "Found patch script %s", (*it)->name().c_str() );
emit filterMatch( _( "Script" ), fromUTF8( (*it)->name() ), -1 );
+ }
+ else if ( zypp::isKindzypp::Message ( *it ) )
+ {
+ y2debug( "Found patch message %s (ignoring)", (*it)->name().c_str() );
+ }
else
{
- y2debug( "Found unknown atom of kind %s: %s",
+ y2error( "Found unknown object of kind %s in patch: %s-%s arch: %s",
(*it)->kind().asString().c_str(),
- (*it)->name().c_str() );
+ (*it)->name().c_str(),
+ (*it)->edition().asString().c_str(),
+ (*it)->arch().asString().c_str() );
}
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQPkgPatternList.cc new/yast2-qt-2.13.44/src/YQPkgPatternList.cc
--- old/yast2-qt-2.13.42/src/YQPkgPatternList.cc 2006-03-29 12:06:26.000000000 +0200
+++ new/yast2-qt-2.13.44/src/YQPkgPatternList.cc 2006-03-31 21:39:19.000000000 +0200
@@ -25,6 +25,7 @@
#include
#include
#include
+#include
#include "YQi18n.h"
#include "utf8.h"
@@ -51,6 +52,10 @@
// is only of little relevance, though.
addColumn( _( "Pattern" ) ); _summaryCol = numCol++;
+
+ header()->setStretchEnabled( _statusCol , false );
+ header()->setStretchEnabled( _summaryCol, true );
+
setAllColumnsShowFocus( true );
setTreeStepSize( 0 );
setAutoApplyChanges( true );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-qt-2.13.42/src/YQUI_core.cc new/yast2-qt-2.13.44/src/YQUI_core.cc
--- old/yast2-qt-2.13.42/src/YQUI_core.cc 2006-03-09 14:38:36.000000000 +0100
+++ new/yast2-qt-2.13.44/src/YQUI_core.cc 2006-03-29 21:18:14.000000000 +0200
@@ -20,6 +20,7 @@
/-*/
#include // MAXHOSTNAMELEN
+#include
#include
#include
@@ -94,7 +95,6 @@
if ( ! runningEmbedded() )
#endif
new QApplication( argc, argv );
-
loadPredefinedQtTranslations();
_normalPalette = qApp->palette();
@@ -186,6 +186,30 @@
}
+ // Ugly hack as a workaround of bug #121872 (Segfault at program exit
+ // if no Qt style defined):
+ //
+ // Qt does not seem to be designed for use in plugin libs. It loads some
+ // add-on libs dynamically with dlopen() and unloads them at program exit
+ // (QGPluginManager). Unfortunately, since they all depend on the Qt master
+ // lib (libqt-mt) themselves, when they are unloading the last call to
+ // dlclose() for them causes the last reference to libqt-mt to vanish as
+ // well. Since libqt-mt is already in the process of destruction there is
+ // no more reference from the caller of libqt-mt, and the GLIBC decides
+ // that libqt-mt is not needed any more (zero references) and unmaps
+ // libqt-mt. When the static destructor of libqt-mt that triggered the
+ // cleanup in QGPluginManager returns, the code it is to return to is
+ // already unmapped, causing a segfault.
+ //
+ // Workaround: Keep one more reference to libqt-mt open - dlopen() it here
+ // and make sure there is no corresponding dlclose().
+
+ QString qt_lib_name = QString( QTLIBDIR "/libqt-mt.so.%1" ).arg( QT_VERSION >> 16 );;
+ void * qt_lib = dlopen( (const char *) qt_lib_name, RTLD_GLOBAL );
+ y2milestone( "Forcing %s open %s", (const char *) qt_lib_name,
+ qt_lib ? "successful" : "failed" );
+
+
// Init other stuff
qApp->setFont( currentFont() );
@@ -266,10 +290,8 @@
if ( _lang_fonts )
delete _lang_fonts;
-#if 0
- if ( ! runningEmbedded() && qApp )
- delete qApp;
-#endif
+ // Intentionally NOT calling dlclose() to libqt-mt
+ // (see constructor for explanation)
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...