--- shell/source/unix/sysshell/systemshell.cxx 2007-12-29 07:58:28.000000000 +1100 +++ shell/source/unix/sysshell/systemshell.cxx 2007-12-29 20:15:55.000000000 +1100 @@ -72,8 +72,10 @@ const rtl::OUString LIB_RECENT_FILE = UNISTRING("librecentfile.so"); const rtl::OUString DEFAULT_CONTEXT = UNISTRING("DefaultContext"); +#ifdef GTK_IS_BROKEN void * (* sym_gtk_recent_manager_get_default) () = NULL; void (* sym_gtk_recent_manager_add_item) (void *, const char *) = NULL; +#endif // We need to re-encode file urls because osl_getFileURLFromSystemPath converts // to UTF-8 before encoding non ascii characters, which is not what other apps expect. @@ -114,6 +116,7 @@ return url; } +#ifdef GTK_IS_BROKEN bool init_recent_manager_api() { oslModule hDefault; @@ -128,24 +131,28 @@ bool ret = (NULL != sym_gtk_recent_manager_get_default) && (NULL != sym_gtk_recent_manager_add_item); return ret; } - +#endif //############################## void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType) { +#ifdef GTK_IS_BROKEN static bool bIsRecentManagerPresent = init_recent_manager_api(); +#endif // Convert file URL for external use (see above) rtl::OUString externalUrl = translateToExternalUrl(aFileUrl); if( 0 == externalUrl.getLength() ) externalUrl = aFileUrl; +#ifdef GTK_IS_BROKEN if( bIsRecentManagerPresent ) { void * recent_manager = sym_gtk_recent_manager_get_default(); sym_gtk_recent_manager_add_item(recent_manager, rtl::OUStringToOString(aFileUrl, RTL_TEXTENCODING_UTF8).getStr()); } else +#endif { rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE);