Hi there, the GTK system tray is broken:
1) ENABLE_QUICKSTART_APPLET is not defined, so ShutdownIcon::IsQuickstarterInstalled() returns false, instead of trying to load libqstart_gtk.so http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/source/appl/shutdownicon.cxx?view=markup#l769 2) ENABLE_SYSTRAY_GTK is not defined, so the plugin library name is not defined http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/source/appl/shutdownicon.cxx?view=markup#l96 http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/source/appl/shutdownicon.cxx?view=markup#l159 3) the library name should be modified, due to changes in the DLLPOSTFIX; and should not be a string, because it is stringified (or PLUGIN_NAME could be defined in the Makefile) 4) the GTK system tray depends on libegg, a LGPL v2+ library. Quite strange the library is build but not installed. This causes that the libqstart_gtk.so cannot be loaded. libegg is copy-left, so it should be replaced by GtkStatusIcon (requires at most gtk 2.16) http://developer.gnome.org/gtk/2.24/GtkStatusIcon.html This looks like an easy task. 5) trunk/main/sfx2/source/appl/shutdowniconunx.cxx has no license header. Is this file in the software grant? Looking at the hg log, it comes from: changeset: 174966:ddd13100457e user: kz date: Fri Oct 06 10:39:32 2006 +0000 files: sfx2/source/appl/shutdowniconunx.cxx description: INTEGRATION: CWS gtkquickstart (1.1.2); FILE ADDED 2006/08/01 10:59:27 mmeeks 1.1.2.2: Issue number: i#57872# Submitted by: mmeeks Warning fixes. 2006/08/01 10:57:04 mmeeks 1.1.2.1: #i57872# gtk systray quickstarter https://issues.apache.org/ooo/show_bug.cgi?id=57872 first comment says something about JCAs, but I don't get it. Attached patch solves (1) and (2) but is useless until knowing the status of (5) and then fixing (4). Regards -- Ariel Constenla-Haile La Plata, Argentina
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 8c397b2..30460a5 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -266,6 +266,14 @@ $(eval $(call gb_Library_set_defs,sfx,\
))
endif
+ifeq ($(ENABLE_SYSTRAY_GTK),TRUE)
+$(eval $(call gb_Library_set_defs,sfx,\
+ $$(DEFS) \
+ -DENABLE_QUICKSTART_APPLET \
+ -DENABLE_SYSTRAY_GTK \
+))
+endif
+
ifeq ($(OS),OS2)
$(eval $(call gb_Library_add_exception_objects,sfx,\
sfx2/source/appl/shutdowniconOs2.ob \
diff --git a/sfx2/source/appl/shutdownicon.cxx
b/sfx2/source/appl/shutdownicon.cxx
index 0a78490..92575a5 100644
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -94,7 +94,7 @@ extern "C" { static void SAL_CALL thisModule() {} }
#endif
#if defined(UNX) && defined(ENABLE_SYSTRAY_GTK)
-#define PLUGIN_NAME "libqstart_gtkli.so"
+#define PLUGIN_NAME libqstart_gtk.so
#endif
class SfxNotificationListener_Impl : public cppu::WeakImplHelper1<
XDispatchResultListener >
@@ -156,7 +156,7 @@ bool ShutdownIcon::LoadModule( osl::Module **pModule,
oslGenericFunction pTmpInit = NULL;
oslGenericFunction pTmpDeInit = NULL;
- if ( pPlugin->loadRelative( &thisModule, OUString
(RTL_CONSTASCII_USTRINGPARAM( STRING( PLUGIN_NAME ) ) ) ) )
+ if ( pPlugin->loadRelative( &thisModule, OUString(
RTL_CONSTASCII_USTRINGPARAM( STRING( PLUGIN_NAME ) ) ) ) )
{
pTmpInit = pPlugin->getFunctionSymbol(
OUString( RTL_CONSTASCII_USTRINGPARAM(
"plugin_init_sys_tray" ) ) );
pgpVGMxTvc6it.pgp
Description: PGP signature
