Wednesday, July 05, 2006

Got kdelibs compiling

This is with:

trunk/qt-copy -r558252
trunk/KDE/kdelibs -r558279

Make sure you run the ./apply_patches script in qt-copy.
Manually apply 0119-qaction-widgetfactory.diff - K3WidgetAction from kdelibs needs the QActionWidgetFactory class. Two Hunks will fail. Replace them with this:


--- src/gui/widgets/qtoolbar.cpp (revision 558285)
+++ src/gui/widgets/qtoolbar.cpp (working copy)
@@ -271,7 +271,16 @@ QToolBarItem QToolBarPrivate::createItem
item.hasCustomWidget = true;
return item;
}
+ }
+
+ if (action->toolBarWidgetFactory()) {
+ item.widget = action->toolBarWidgetFactory()->createToolBarWidget(q);
+ if (item.widget) {
+ item.hasCustomWidget = true;
+ return item;
+ }
}
+
if (action->isSeparator()) {
item.widget = new QToolBarSeparator(q);
QObject::connect(q, SIGNAL(orientationChanged(Qt::Orientation)),
--- src/gui/kernel/qaction.cpp (revision 558285)
+++ src/gui/kernel/qaction.cpp (working copy)
@@ -54,7 +54,7 @@ static QString qt_strippedText(QString s

QActionPrivate::QActionPrivate() : group(0), enabled(1), forceDisabled(0),
visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false),
- menuRole(QAction::TextHeuristicRole)
+ menuRole(QAction::TextHeuristicRole), factory (0)
{
#ifdef QT3_SUPPORT
static int qt_static_action_id = -1;


I have no idea if this is correct but KolourPaint -r558316 runs.

If you get this message even after invoking the dbus daemon:


FATAL: Session bus not found


$DBUS_SESSION_BUS_ADDRESS and $DBUS_SESSION_BUS_PID are not set because you ran dbus using:

dbus-launch --auto-syntax


instead of:

eval `dbus-launch --auto-syntax`


as dbus-launch actually prints out the shell commands used to set those environment variables.

Lastly, changing button order and making it not configurable is a worrying trend:



I hope this is a birthday prank or something...

2 comments:

Anonymous said...

Of course K3WidgetAction has already been removed from KDElibs/ui :)

Clarence Dang said...

trunk/ changes far too quickly :)