include/sal/log-areas.dox | 1 qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java | 34 +++-- sc/source/core/tool/scmatrix.cxx | 2 vcl/unx/generic/plugadapt/salplug.cxx | 105 +++++++--------- 4 files changed, 72 insertions(+), 70 deletions(-)
New commits: commit fc1f68d5b9f3ce7a77a13b959692a1027c6e2ada Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed Aug 28 13:26:39 2013 +0200 Clean up logging and string handling Change-Id: I39823e303097ef32f3cc394b0d9215ae351a88f3 diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox index f888b8c..83b3ac0 100644 --- a/include/sal/log-areas.dox +++ b/include/sal/log-areas.dox @@ -325,6 +325,7 @@ certain functionality. @li @c vcl.kde - KDE @li @c vcl.kde4 - KDE4 @li @c vcl.layout - Widget layout +@li @c vcl.plugadapt - the Unix/X11 backend plugin mechanism @li @c vcl.scrollbar - Scroll Bars @li @c vcl.sm - Session Manager @li @c vcl.window diff --git a/vcl/unx/generic/plugadapt/salplug.cxx b/vcl/unx/generic/plugadapt/salplug.cxx index 4cb49f9..1e0b0db 100644 --- a/vcl/unx/generic/plugadapt/salplug.cxx +++ b/vcl/unx/generic/plugadapt/salplug.cxx @@ -20,7 +20,6 @@ #include "osl/module.h" #include "osl/process.h" -#include "rtl/ustrbuf.hxx" #include "rtl/bootstrap.hxx" #include "salinst.hxx" @@ -50,11 +49,7 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals { return NULL; } - OUStringBuffer aModName( 128 ); - aModName.appendAscii( SAL_DLLPREFIX"vclplug_" ); - aModName.append( rModuleBase ); - aModName.appendAscii( SAL_DLLPOSTFIX ); - OUString aModule = aModName.makeStringAndClear(); + OUString aModule(SAL_DLLPREFIX "vclplug_" + rModuleBase + SAL_DLLPOSTFIX); oslModule aMod = osl_loadModuleRelative( reinterpret_cast< oslGenericFunction >( &tryInstance ), aModule.pData, @@ -65,11 +60,9 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals if( aProc ) { pInst = aProc( aMod ); -#if OSL_DEBUG_LEVEL > 1 - std::fprintf( stderr, "sal plugin %s produced instance %p\n", - OUStringToOString( aModule, RTL_TEXTENCODING_ASCII_US ).getStr(), - pInst ); -#endif + SAL_INFO( + "vcl.plugadapt", + "sal plugin " << aModule << " produced instance " << pInst); if( pInst ) { pCloseModule = aMod; @@ -81,7 +74,7 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals * So make sure libgtk+ & co are still mapped into memory when * atk-bridge's atexit handler gets called. * #i109007# KDE3 seems to have the same problem. - * And same applies for KDE4. + * And same applies for KDE4. */ if( rModuleBase == "gtk" || rModuleBase == "gtk3" || rModuleBase == "tde" || rModuleBase == "kde" || rModuleBase == "kde4" ) { @@ -95,19 +88,21 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals } else { -#if OSL_DEBUG_LEVEL > 1 - std::fprintf( stderr, "could not load symbol %s from shared object %s\n", - "create_SalInstance", - OUStringToOString( aModule, RTL_TEXTENCODING_ASCII_US ).getStr() ); -#endif + SAL_WARN( + "vcl.plugadapt", + "could not load symbol create_SalInstance from shared object " + << aModule); osl_unloadModule( aMod ); } } -#if OSL_DEBUG_LEVEL > 1 + else if (bForce) + { + SAL_WARN("vcl.plugadapt", "could not load shared object " << aModule); + } else - std::fprintf( stderr, "could not load shared object %s\n", - OUStringToOString( aModule, RTL_TEXTENCODING_ASCII_US ).getStr() ); -#endif + { + SAL_INFO("vcl.plugadapt", "could not load shared object " << aModule); + } return pInst; } @@ -116,14 +111,14 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals static DesktopType get_desktop_environment() { - OUStringBuffer aModName( 128 ); - #ifdef LIBO_MERGELIBS - aModName.appendAscii( SAL_DLLPREFIX"merged" ); - #else - aModName.appendAscii( SAL_DLLPREFIX"desktop_detector" ); - #endif - aModName.appendAscii( SAL_DLLPOSTFIX ); - OUString aModule = aModName.makeStringAndClear(); + OUString aModule( + SAL_DLLPREFIX +#if defined LIBO_MERGELIBS + "merged" +#else + "desktop_detector" +#endif + SAL_DLLPOSTFIX); oslModule aMod = osl_loadModuleRelative( reinterpret_cast< oslGenericFunction >( &tryInstance ), aModule.pData, @@ -148,7 +143,7 @@ static DesktopType get_desktop_environment() static SalInstance* autodetect_plugin() { - static const char* pTDEFallbackList[] = + static const char* const pTDEFallbackList[] = { "tde", #if ENABLE_KDE4 @@ -160,7 +155,7 @@ static SalInstance* autodetect_plugin() "gtk3", "gtk", "gen", 0 }; - static const char* pKDEFallbackList[] = + static const char* const pKDEFallbackList[] = { #if ENABLE_KDE4 "kde4", @@ -171,18 +166,18 @@ static SalInstance* autodetect_plugin() "gtk3", "gtk", "gen", 0 }; - static const char* pStandardFallbackList[] = + static const char* const pStandardFallbackList[] = { "gtk3", "gtk", "gen", 0 }; - static const char* pHeadlessFallbackList[] = + static const char* const pHeadlessFallbackList[] = { "svp", 0 }; DesktopType desktop = get_desktop_environment(); - const char ** pList = pStandardFallbackList; + const char * const * pList = pStandardFallbackList; int nListEntry = 0; // no server at all: dummy plugin @@ -207,10 +202,9 @@ static SalInstance* autodetect_plugin() { OUString aTry( OUString::createFromAscii( pList[nListEntry] ) ); pInst = tryInstance( aTry ); - #if OSL_DEBUG_LEVEL > 1 - if( pInst ) - std::fprintf( stderr, "plugin autodetection: %s\n", pList[nListEntry] ); - #endif + SAL_INFO_IF( + pInst, "vcl.plugadapt", + "plugin autodetection: " << pList[nListEntry]); nListEntry++; } @@ -222,14 +216,16 @@ SalInstance *CreateSalInstance() SalInstance *pInst = NULL; OUString aUsePlugin; - static const char* pUsePlugin = getenv( "SAL_USE_VCLPLUGIN" ); - if( pUsePlugin ) - aUsePlugin = OUString::createFromAscii( pUsePlugin ); - else - rtl::Bootstrap::get( "SAL_USE_VCLPLUGIN", aUsePlugin ); - if( Application::IsHeadlessModeRequested() ) aUsePlugin = "svp"; + else + { + static const char* pUsePlugin = getenv( "SAL_USE_VCLPLUGIN" ); + if( pUsePlugin ) + aUsePlugin = OUString::createFromAscii( pUsePlugin ); + else + rtl::Bootstrap::get( "SAL_USE_VCLPLUGIN", aUsePlugin ); + } if( !aUsePlugin.isEmpty() ) pInst = tryInstance( aUsePlugin, true ); @@ -238,9 +234,10 @@ SalInstance *CreateSalInstance() pInst = autodetect_plugin(); // fallback, try everything - const char* pPlugin[] = { "gtk3", "gtk", "kde4", "kde", "tde", "gen", 0 }; + static const char* const pPlugin[] = { + "gtk3", "gtk", "kde4", "kde", "tde", "gen" }; - for ( int i = 0; !pInst && pPlugin[ i ]; ++i ) + for ( int i = 0; !pInst && i != SAL_N_ELEMENTS(pPlugin); ++i ) pInst = tryInstance( OUString::createFromAscii( pPlugin[ i ] ) ); if( ! pInst ) @@ -289,20 +286,18 @@ void SalAbort( const OUString& rErrorText, bool bDumpCore ) _exit(1); } -// Order to match desktops.hxx' DesktopType -static const char * desktop_strings[] = { - "none", "unknown", "GNOME", - "XFCE", "MATE", "TDE", - "KDE", "KDE4" }; - const OUString& SalGetDesktopEnvironment() { + // Order to match desktops.hxx' DesktopType + static const char * const desktop_strings[] = { + "none", "unknown", "GNOME", + "XFCE", "MATE", "TDE", + "KDE", "KDE4" }; static OUString aRet; if( aRet.isEmpty()) { - OUStringBuffer buf( 8 ); - buf.appendAscii( desktop_strings[ get_desktop_environment() ] ); - aRet = buf.makeStringAndClear(); + aRet = OUString::createFromAscii( + desktop_strings[get_desktop_environment()]); } return aRet; } commit 5b5c52a3a4d048bba8c18dfb06ffca25c670d099 Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed Aug 28 13:23:45 2013 +0200 Try make this more robust in slow environments ...where the previous .uno:PrintPreview request has not yet been processed and xRoot/oObj would still be null. Hopefully, it does not introduce infinite loops, though. Change-Id: Ie79e0b0a3185528ab4036ed7a33de81117c02c83 diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java index fb18312..5c595c1 100644 --- a/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java +++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java @@ -90,8 +90,6 @@ public class ScAccessiblePageHeader extends TestCase { protected TestEnvironment createTestEnvironment( TestParameters Param, PrintWriter log) { - XInterface oObj = null; - // inserting some content to have non-empty page preview XCell xCell = null; try { @@ -137,20 +135,28 @@ public class ScAccessiblePageHeader extends TestCase { throw new StatusException(Status.failed("Couldn't change mode")); } - try { - Thread.sleep(500); - } catch (InterruptedException ex) {} - AccessibilityTools at = new AccessibilityTools(); - XWindow xWindow = AccessibilityTools.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel); - XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow); - - oObj = AccessibilityTools.getAccessibleObjectForRole - (xRoot, AccessibleRole.HEADER, ""); - - log.println("ImplementationName " + utils.getImplName(oObj)); - AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE)); + XInterface oObj = null; + for (;;) { + try { + Thread.sleep(500); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + XWindow xWindow = AccessibilityTools.getCurrentWindow( (XMultiServiceFactory) Param.getMSF(), aModel); + XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow); + if (xRoot != null) { + oObj = AccessibilityTools.getAccessibleObjectForRole + (xRoot, AccessibleRole.HEADER, ""); + if (oObj != null) { + log.println("ImplementationName " + utils.getImplName(oObj)); + AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE)); + break; + } + } + log.println("No HEADER found yet, retrying"); + } TestEnvironment tEnv = new TestEnvironment(oObj); commit 09c09fa20b93a236c639a2ce957fc634c8688ce5 Author: Stephan Bergmann <sberg...@redhat.com> Date: Wed Aug 28 13:21:16 2013 +0200 warning C4805: == : unsafe mix of type[s] Change-Id: I1bbcfbbab6e077d4516a22c2e0c0d4ec4dd12aca diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx index 2640bfb..1147efd 100644 --- a/sc/source/core/tool/scmatrix.cxx +++ b/sc/source/core/tool/scmatrix.cxx @@ -1009,7 +1009,7 @@ size_t WalkAndMatchElements<double>::compare(const MatrixImplType::element_block MatrixImplType::boolean_block_type::const_iterator itEnd = MatrixImplType::boolean_block_type::end(*node.data); for (; it != itEnd; ++it, ++nCount) { - if (*it == maMatchValue) + if (int(*it) == maMatchValue) { return mnIndex + nCount; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits