freebsd-ports/editors/openoffice.org-vcltesttool/files/patch-i75190
Maho Nakata 74a8af2f2f 1. For all language build "all" to "alllangs".
2. Fix hang "Glib bug".
   http://qa.openoffice.org/issues/show_bug.cgi?id=75190
   Bump port revision for openoffice.org-2 port accordingly.
3. Fix language pack builds for openoffice.org-3-devel port.

PR: 121953 (2)
Submitted by:	Dwayne MacKinnon and Marcin Cieslak  (will be SCAed; saperski@openoffice.org) (2)
2008-04-06 05:11:20 +00:00

107 lines
4.5 KiB
Text

http://www.freebsd.org/cgi/query-pr.cgi?pr=121953 (Dwayne MacKinnon)
http://qa.openoffice.org/issues/show_bug.cgi?id=75190
Turn the GTK Recent Manager feature off.
Other workaround
% setenv OOO_FORCE_DESKTOP gnome
Backout of misfeature in cws_src680_obr05 branch.
* rev 1.9 of gsl/shell/source/unix/sysshell/recently_used_file_handler.cxx
* rev 1.8 of gsl/shell/source/unix/sysshell/systemshell.cxx
See also
http://lists.freebsd.org/pipermail/freebsd-openoffice/2007-December/003453.html
gsl/shell/source/unix/sysshell/recently_used_file_handler.cxx
(rev. 1.8.44.2)
gsl/shell/source/unix/sysshell/systemshell.cxx
(rev. 1.7.44.1)
Index: systemshell.cxx
===================================================================
RCS file: /cvs/gsl/shell/source/unix/sysshell/systemshell.cxx,v
retrieving revision 1.8
diff -u -u -r1.8 systemshell.cxx
--- shell/source/unix/sysshell/systemshell.cxx 19 Jun 2007 16:12:44 -0000 1.8
+++ shell/source/unix/sysshell/systemshell.cxx 30 Mar 2008 22:06:15 -0000
@@ -72,9 +72,6 @@
const rtl::OUString LIB_RECENT_FILE = UNISTRING("librecentfile.so");
const rtl::OUString DEFAULT_CONTEXT = UNISTRING("DefaultContext");
-void * (* sym_gtk_recent_manager_get_default) () = NULL;
-void (* sym_gtk_recent_manager_add_item) (void *, const char *) = NULL;
-
// 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.
static rtl::OUString translateToExternalUrl(const rtl::OUString& internalUrl)
@@ -114,57 +111,31 @@
return url;
}
- bool init_recent_manager_api()
- {
- oslModule hDefault;
- if( osl_getModuleHandle( NULL, &hDefault ) )
- {
- sym_gtk_recent_manager_get_default = (void * (*)())
- osl_getAsciiFunctionSymbol(hDefault, "gtk_recent_manager_get_default");
- sym_gtk_recent_manager_add_item = (void (*)(void *, const char *))
- osl_getAsciiFunctionSymbol(hDefault, "gtk_recent_manager_add_item");
-
- }
- bool ret = (NULL != sym_gtk_recent_manager_get_default) && (NULL != sym_gtk_recent_manager_add_item);
- return ret;
- }
-
-
//##############################
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType)
{
- static bool bIsRecentManagerPresent = init_recent_manager_api();
-
// Convert file URL for external use (see above)
rtl::OUString externalUrl = translateToExternalUrl(aFileUrl);
+ rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE);
+
if( 0 == externalUrl.getLength() )
externalUrl = aFileUrl;
-
- 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
+
+ if (librecentfile_url.getLength())
{
- rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE);
-
- if (librecentfile_url.getLength())
- {
- osl::Module module(librecentfile_url);
+ osl::Module module(librecentfile_url);
- if (module.is())
- {
- // convert from reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>
- // not allowed in gcc 3.3 without permissive.
- PFUNC_ADD_TO_RECENTLY_USED_LIST add_to_recently_used_file_list =
- reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>(module.getFunctionSymbol(SYM_ADD_TO_RECENTLY_USED_FILE_LIST));
-
- if (add_to_recently_used_file_list)
- add_to_recently_used_file_list(aFileUrl, aMimeType);
- }
+ if (module.is())
+ {
+ // convert from reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>
+ // not allowed in gcc 3.3 without permissive.
+ PFUNC_ADD_TO_RECENTLY_USED_LIST add_to_recently_used_file_list =
+ reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>(module.getFunctionSymbol(SYM_ADD_TO_RECENTLY_USED_FILE_LIST));
+
+ if (add_to_recently_used_file_list)
+ add_to_recently_used_file_list(aFileUrl, aMimeType);
}
- }
+ }
}
} // namespace SystemShell