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" ) ) );

Attachment: pgpVGMxTvc6it.pgp
Description: PGP signature

Reply via email to