Rebased ref, commits from common ancestor: commit 81f41219174acae1091c994e477a5529a5c5b2ac Author: Douglas Mencken <dougmenc...@gmail.com> Date: Sat Jan 7 20:06:53 2017 -0500
external/harfbuzz: compatibility with OS X Leopard add reference to kCTTypesetterOptionForcedEmbeddingLevel kCTFontURLAttribute is not here prior to 10.6 Change-Id: Iaecaf30c97730b6dc7482766782f8faf67c00266 diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk index 888251f..9fbd744 100644 --- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk +++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk @@ -16,6 +16,8 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,harfbuzz,0)) $(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \ external/harfbuzz/ubsan.patch \ external/harfbuzz/clang-cl.patch \ + external/harfbuzz/kCTTypesetterOptionForcedEmbeddingLevel-Leopard.patch \ + external/harfbuzz/kCTFontURLAttribute-Leopard.patch \ )) ifneq ($(ENABLE_RUNTIME_OPTIMIZATIONS),TRUE) diff --git a/external/harfbuzz/kCTFontURLAttribute-Leopard.patch b/external/harfbuzz/kCTFontURLAttribute-Leopard.patch new file mode 100644 index 0000000..7797c57 --- /dev/null +++ b/external/harfbuzz/kCTFontURLAttribute-Leopard.patch @@ -0,0 +1,45 @@ +--- src/hb-coretext.cc ++++ src/hb-coretext.cc +@@ -161,7 +161,19 @@ + return ct_font; + } + +- CFURLRef original_url = (CFURLRef)CTFontCopyAttribute(ct_font, kCTFontURLAttribute); ++ CFURLRef original_url = nullptr; ++ //original_url = (CFURLRef)CTFontCopyAttribute(ct_font, kCTFontURLAttribute); ++ /* CTFontDescriptor doesn't support kCTFontURLAttribute prior to 10.6, ++ so letâs go CTFont -> ATSFont -> FSRef -> CFURL */ ++ { ++ ATSFontRef atsFont = CTFontGetPlatformFont( ct_font, nullptr ); ++ if ( atsFont ) { ++ FSRef fsref; ++ OSStatus code = ATSFontGetFileReference( atsFont, &fsref ); ++ if ( code == noErr ) ++ original_url = CFURLCreateFromFSRef( nullptr, &fsref ); ++ } ++ } + + /* Create font copy with cascade list that has LastResort first; this speeds up CoreText + * font fallback which we don't need anyway. */ +@@ -180,7 +192,20 @@ + * system locations that we cannot access from the sandboxed renderer + * process in Blink. This can be detected by the new file URL location + * that the newly found font points to. */ +- CFURLRef new_url = (CFURLRef) CTFontCopyAttribute (new_ct_font, kCTFontURLAttribute); ++ ++ CFURLRef new_url = nullptr; ++ //new_url = (CFURLRef) CTFontCopyAttribute (new_ct_font, kCTFontURLAttribute); ++ /* CTFontDescriptor doesn't support kCTFontURLAttribute prior to 10.6 */ ++ { ++ ATSFontRef atsFont = CTFontGetPlatformFont( new_ct_font, nullptr ); ++ if ( atsFont ) { ++ FSRef fsref; ++ OSStatus code = ATSFontGetFileReference( atsFont, &fsref ); ++ if ( code == noErr ) ++ new_url = CFURLCreateFromFSRef( nullptr, &fsref ); ++ } ++ } ++ + // Keep reconfigured font if URL cannot be retrieved (seems to be the case + // on Mac OS 10.12 Sierra), speculative fix for crbug.com/625606 + if (!original_url || !new_url || CFEqual (original_url, new_url)) { diff --git a/external/harfbuzz/kCTTypesetterOptionForcedEmbeddingLevel-Leopard.patch b/external/harfbuzz/kCTTypesetterOptionForcedEmbeddingLevel-Leopard.patch new file mode 100644 index 0000000..4fffb9c --- /dev/null +++ b/external/harfbuzz/kCTTypesetterOptionForcedEmbeddingLevel-Leopard.patch @@ -0,0 +1,13 @@ +--- src/hb-coretext.cc ++++ src/hb-coretext.cc +@@ -749,6 +749,8 @@ + + int level = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1; + CFNumberRef level_number = CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &level); ++/* Marked as available in version 10.5 and later, but not in the header until SDK 10.6 */ ++ extern const CFStringRef kCTTypesetterOptionForcedEmbeddingLevel; + CFDictionaryRef options = CFDictionaryCreate (kCFAllocatorDefault, + (const void **) &kCTTypesetterOptionForcedEmbeddingLevel, + (const void **) &level_number, + +Diff finished. Mon Dec 15 16:56:50 2014 commit 2a94afc5d4c66669f145aaffe418bf220c4110e9 Author: Douglas Mencken <dougmenc...@gmail.com> Date: Sat Jan 7 18:25:35 2017 -0500 Revert "curl: upgrade to version 7.51.0" commit 3edb365f2651848ae8bc3b85bf0b56bd00d93270 diff --git a/download.lst b/download.lst index c28b972..225ad93 100644 --- a/download.lst +++ b/download.lst @@ -24,8 +24,8 @@ export COLLADA2GLTF_TARBALL := 4b87018f7fff1d054939d19920b751a0-collada2gltf-mas export CPPUNIT_MD5SUM := d1c6bdd5a76c66d2c38331e2d287bc01 export CPPUNIT_TARBALL := cppunit-1.13.2.tar.gz export CT2N_TARBALL := 1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt -export CURL_MD5SUM := 490e19a8ccd1f4a244b50338a0eb9456 -export CURL_TARBALL := curl-7.51.0.tar.gz +export CURL_MD5SUM := c264788f2e4313a05140d712c1ec90c2 +export CURL_TARBALL := curl-7.50.1.tar.gz export EBOOK_MD5SUM := 6b48eda57914e6343efebc9381027b78 export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2 export EPOXY_MD5SUM := 96f6620a9b005a503e7b44b0b528287d diff --git a/external/curl/ExternalProject_curl.mk b/external/curl/ExternalProject_curl.mk index eae07cf..2c3de49 100644 --- a/external/curl/ExternalProject_curl.mk +++ b/external/curl/ExternalProject_curl.mk @@ -80,7 +80,7 @@ else ifeq ($(COM),MSC) $(call gb_ExternalProject_get_state_target,curl,build): $(call gb_ExternalProject_run,build,\ - MAKEFLAGS= LIB="$(ILIB)" nmake -f Makefile.vc12 \ + MAKEFLAGS= LIB="$(ILIB)" nmake -f Makefile.vc10 \ cfg=$(if $(MSVC_USE_DEBUG_RUNTIME),debug-dll,release-dll) \ EXCFLAGS="/EHs /D_CRT_SECURE_NO_DEPRECATE /DUSE_WINDOWS_SSPI /D_USING_V110_SDK71_ $(SOLARINC)" $(if $(filter X86_64,$(CPUNAME)),MACHINE=X64) \ ,lib) diff --git a/external/curl/UnpackedTarball_curl.mk b/external/curl/UnpackedTarball_curl.mk index 536474d..f1e9209 100644 --- a/external/curl/UnpackedTarball_curl.mk +++ b/external/curl/UnpackedTarball_curl.mk @@ -14,7 +14,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,curl,$(CURL_TARBALL),,curl)) $(eval $(call gb_UnpackedTarball_set_patchlevel,curl,1)) $(eval $(call gb_UnpackedTarball_fix_end_of_line,curl,\ - lib/Makefile.vc12 \ + lib/Makefile.vc10 \ )) $(eval $(call gb_UnpackedTarball_add_patches,curl,\ diff --git a/external/curl/curl-7.26.0_win-proxy.patch b/external/curl/curl-7.26.0_win-proxy.patch index cf41850..dff1e37 100644 --- a/external/curl/curl-7.26.0_win-proxy.patch +++ b/external/curl/curl-7.26.0_win-proxy.patch @@ -1,5 +1,5 @@ ---- curl-7.26.0/lib/Makefile.vc12 -+++ misc/build/curl-7.26.0/lib/Makefile.vc12 +--- curl-7.26.0/lib/Makefile.vc10 ++++ misc/build/curl-7.26.0/lib/Makefile.vc10 @@ -118,7 +118,7 @@ WINSSLLIBS = crypt32.lib ZLIBLIBSDLL = zdll.lib @@ -13,7 +13,7 @@ +++ misc/build/curl-7.26.0/lib/url.c @@ -78,6 +78,10 @@ bool curl_win32_idn_to_ascii(const char *in, char **out); - #endif /* USE_LIBIDN2 */ + #endif /* USE_LIBIDN */ +#ifdef _WIN32 +#include <WinHttp.h> @@ -52,7 +52,7 @@ #ifndef CURL_DISABLE_HTTP /* If proxy was not specified, we check for default proxy environment -@@ -4613,7 +4633,64 @@ +@@ -4613,7 +4633,63 @@ * For compatibility, the all-uppercase versions of these variables are * checked if the lowercase versions don't exist. */ @@ -83,10 +83,9 @@ + if(!check_noproxy(conn->host.name, no_proxy)) { + /* Look for the http proxy setting */ + char* tok; -+ char *saveptr; + + if(NULL != ieProxy) { -+ tok = strtok_s(ieProxy, ";", &saveptr); ++ tok = strtok(ieProxy, ";"); + if(strchr(tok, '=') == NULL) { + proxy = strdup(ieProxy); + } @@ -96,7 +95,7 @@ + /* We found HTTP proxy value, then use it */ + proxy = strdup(tok + 5); + } -+ tok = strtok_s(NULL, ";", &saveptr); ++ tok = strtok(NULL, ";"); + } + while(NULL != tok); + } diff --git a/external/curl/curl-msvc-schannel.patch.1 b/external/curl/curl-msvc-schannel.patch.1 index 96768aa..1091a76 100644 --- a/external/curl/curl-msvc-schannel.patch.1 +++ b/external/curl/curl-msvc-schannel.patch.1 @@ -1,7 +1,7 @@ MSVC: use WNT native Schannel SSL/TLS implementation ---- curl/lib/Makefile.vc12.old 2013-11-19 00:00:29.044499752 +0100 -+++ curl/lib/Makefile.vc12 2013-11-19 00:01:29.135499684 +0100 +--- curl/lib/Makefile.vc10.old 2013-11-19 00:00:29.044499752 +0100 ++++ curl/lib/Makefile.vc10 2013-11-19 00:01:29.135499684 +0100 @@ -260,7 +260,7 @@ TARGET = $(LIBCURL_DYN_LIB_REL) DIROBJ = $(CFG) diff --git a/external/curl/curl-msvc.patch.1 b/external/curl/curl-msvc.patch.1 index 88ced0a..927b3f1 100644 --- a/external/curl/curl-msvc.patch.1 +++ b/external/curl/curl-msvc.patch.1 @@ -1,7 +1,7 @@ MSVC: using SOLARINC and EXCFLAGS ---- curl/lib/Makefile.vc12 2012-05-24 12:07:02.000000000 -0400 -+++ curl/lib/Makefile.vc12 2012-10-29 11:53:44.658809300 -0400 +--- curl/lib/Makefile.vc10 2012-05-24 12:07:02.000000000 -0400 ++++ curl/lib/Makefile.vc10 2012-10-29 11:53:44.658809300 -0400 @@ -117,7 +117,7 @@ ZLIBLIBSDLL = zdll.lib ZLIBLIBS = zlib.lib @@ -11,14 +11,6 @@ MSVC: using SOLARINC and EXCFLAGS CFGSET = FALSE -@@ -632,7 +632,6 @@ - $(DIROBJ)\vtls.obj \ - $(DIROBJ)\openssl.obj \ - $(DIROBJ)\strdup.obj \ -- $(DIROBJ)\strequal.obj \ - $(DIROBJ)\strerror.obj \ - $(DIROBJ)\strtok.obj \ - $(DIROBJ)\strtoofft.obj \ @@ -620,11 +620,11 @@ debug-dll-ssl-dll\libcurl.res \ debug-dll-zlib-dll\libcurl.res \ commit 4356158d14bbebfe7468f3f90146c2e846046594 Author: Douglas Mencken <dougmenc...@gmail.com> Date: Thu Apr 14 08:56:01 2016 -0400 playing with menus & separators Change-Id: I20a51b2a173d81eb51310a04722c1b61dd49630b diff --git a/framework/source/uielement/newmenucontroller.cxx b/framework/source/uielement/newmenucontroller.cxx index e8963fd..142efef 100644 --- a/framework/source/uielement/newmenucontroller.cxx +++ b/framework/source/uielement/newmenucontroller.cxx @@ -302,6 +302,8 @@ NewMenuController::~NewMenuController() // private function void NewMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPopupMenu ) { + SAL_WARN( "framework", "fillPopupMenu()" ); + VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(VCLXMenu::GetImplementation( rPopupMenu )); PopupMenu* pVCLPopupMenu = nullptr; @@ -348,11 +350,17 @@ void NewMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPopup continue; if ( aURL == "private:separator" ) + { + SAL_WARN( "framework", "separator" ); pVCLPopupMenu->InsertSeparator(); + } else { + SAL_WARN( "framework", "item ( aTitle \"" << aTitle << "\", aURL \"" << aURL << "\", nItemId " << OUString::number( nItemId ) << " )" ); + pVCLPopupMenu->InsertItem( nItemId, aTitle ); pVCLPopupMenu->SetItemCommand( nItemId, aURL ); + //pVCLPopupMenu->DoSomethingCool(); sal_uIntPtr nAttributePtr = MenuAttributes::CreateAttribute( aTargetFrame, aImageId ); pVCLPopupMenu->SetUserValue( nItemId, nAttributePtr, MenuAttributes::ReleaseAttribute ); diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx index f2202d1..8d746ad 100644 --- a/include/vcl/menu.hxx +++ b/include/vcl/menu.hxx @@ -211,7 +211,12 @@ protected: virtual void MenuBarKeyInput(const KeyEvent& rEvent); public: - SAL_DLLPRIVATE void ImplKillLayoutData() const; + OUString& GetText() + { + return aTitleText; + } + + SAL_DLLPRIVATE void ImplBinLayoutData() const; SAL_DLLPRIVATE vcl::Window* ImplGetWindow() const { return pWindow; } #if defined(MACOSX) diff --git a/vcl/inc/osx/salmenu.h b/vcl/inc/osx/salmenu.h index f21c750..3981cdb 100644 --- a/vcl/inc/osx/salmenu.h +++ b/vcl/inc/osx/salmenu.h @@ -84,6 +84,9 @@ public: static void addFallbackMenuItem( NSMenuItem* NewItem ); static void removeFallbackMenuItem( NSMenuItem* pOldItem ); + bool IsSeparatorAt( unsigned nPos ); + static bool IsItemSeparator( AquaSalMenuItem * pAquaSalMenuItem ); + const std::vector< MenuBarButtonEntry >& getButtons() const { return maButtons; } bool mbMenuBar; // true - Menubar, false - Menu diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx index e5947a4..712ff12 100644 --- a/vcl/osx/salmenu.cxx +++ b/vcl/osx/salmenu.cxx @@ -512,9 +512,36 @@ void AquaSalMenu::SetFrame( const SalFrame *pFrame ) mpFrame = static_cast<const AquaSalFrame*>(pFrame); } +bool AquaSalMenu::IsItemSeparator( AquaSalMenuItem * pAquaSalMenuItem ) +{ + if ( ! pAquaSalMenuItem ) + return false; + + return ( [ pAquaSalMenuItem->mpMenuItem isSeparatorItem ] ? true : false ); +} + +bool AquaSalMenu::IsSeparatorAt( unsigned nPos ) +{ + if( nPos < maItems.size() ) + return IsItemSeparator( maItems[ nPos ] ); + + return false; +} + void AquaSalMenu::InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos ) { - AquaSalMenuItem *pAquaSalMenuItem = static_cast<AquaSalMenuItem*>(pSalMenuItem); + AquaSalMenuItem *pAquaSalMenuItem = static_cast< AquaSalMenuItem * >( pSalMenuItem ); + NSMenuItem* nsMenuItem = pAquaSalMenuItem->mpMenuItem; + bool isSeparator = IsItemSeparator( pAquaSalMenuItem ); + +#if OSL_DEBUG_LEVEL > 0 + if ( isSeparator ) { + SAL_WARN( "vcl.osx", "AquaSalMenu::InsertItem separator at position " << nPos ); + } else { + const char* theTitle = [ [ nsMenuItem title ] UTF8String ]; + SAL_WARN( "vcl.osx", "AquaSalMenu::InsertItem with label \"" << theTitle << "\" at position " << nPos ); + } +#endif pAquaSalMenuItem->mpParentMenu = this; DBG_ASSERT( pAquaSalMenuItem->mpVCLMenu == nullptr || @@ -524,24 +551,37 @@ void AquaSalMenu::InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos ) if( pAquaSalMenuItem->mpVCLMenu ) mpVCLMenu = pAquaSalMenuItem->mpVCLMenu; - if( nPos == MENU_APPEND || nPos == maItems.size() ) - maItems.push_back( pAquaSalMenuItem ); - else if( nPos < maItems.size() ) - maItems.insert( maItems.begin() + nPos, pAquaSalMenuItem ); - else + bool bInsert = true; + if ( isSeparator ) { - OSL_FAIL( "invalid item index in insert" ); - return; + bInsert = ( nPos > 0 ) ? + ( !IsSeparatorAt( nPos ) && !IsSeparatorAt( nPos - 1 ) ) : + !IsSeparatorAt( nPos ) ; + if ( !bInsert ) + SAL_WARN( "vcl.osx", "yet another separator here is redundant" ); } - if( ! mbMenuBar || pCurrentMenuBar == this ) - [mpMenu insertItem: pAquaSalMenuItem->mpMenuItem atIndex: getItemIndexByPos(nPos)]; + if ( bInsert ) + { + if( nPos == MENU_APPEND || nPos == maItems.size() ) + maItems.push_back( pAquaSalMenuItem ); + else if( nPos < maItems.size() ) + maItems.insert( maItems.begin() + nPos, pAquaSalMenuItem ); + else + { + SAL_WARN( "vcl.osx", "position of item is somewhere out @ AquaSalMenu::InsertItem" ); + return; + } + + if( ! mbMenuBar || pCurrentMenuBar == this ) + [ mpMenu insertItem: nsMenuItem atIndex: getItemIndexByPos( nPos ) ]; + } } void AquaSalMenu::RemoveItem( unsigned nPos ) { AquaSalMenuItem* pRemoveItem = nullptr; - if( nPos == MENU_APPEND || nPos == (maItems.size()-1) ) + if( nPos == MENU_APPEND || nPos == ( maItems.size() - 1 ) ) { pRemoveItem = maItems.back(); maItems.pop_back(); @@ -549,18 +589,18 @@ void AquaSalMenu::RemoveItem( unsigned nPos ) else if( nPos < maItems.size() ) { pRemoveItem = maItems[ nPos ]; - maItems.erase( maItems.begin()+nPos ); + maItems.erase( maItems.begin() + nPos ); } else { - OSL_FAIL( "invalid item index in remove" ); + SAL_WARN( "vcl.osx", "RemoveItem: item is somewhere out" ); return; } pRemoveItem->mpParentMenu = nullptr; if( ! mbMenuBar || pCurrentMenuBar == this ) - [mpMenu removeItemAtIndex: getItemIndexByPos(nPos)]; + [ mpMenu removeItemAtIndex: getItemIndexByPos( nPos ) ]; } void AquaSalMenu::SetSubMenu( SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsigned /*nPos*/ ) @@ -801,7 +841,7 @@ void AquaSalMenu::statusLayout() if( [pNSView isMemberOfClass: [OOStatusItemView class]] ) // well of course it is [(OOStatusItemView*)pNSView layout]; else - OSL_FAIL( "someone stole our status view" ); + SAL_WARN( "vcl.osx", "¿where is my status view?" ); } } @@ -908,6 +948,8 @@ AquaSalMenuItem::AquaSalMenuItem( const SalItemParams* pItemData ) : // these can go occasionally go in and out of a menu, ensure their lifecycle // also for the release in AquaSalMenuItem destructor [mpMenuItem retain]; + + SAL_WARN( "vcl.osx", "created AquaSalMenuItem separator" ); } else { @@ -921,8 +963,16 @@ AquaSalMenuItem::AquaSalMenuItem( const SalItemParams* pItemData ) : [mpMenuItem setTitle: pString]; [pString release]; } - // anything but a separator should set a menu to dispatch to - SAL_WARN_IF( !mpVCLMenu, "vcl", "no menu" ); + +#if OSL_DEBUG_LEVEL > 0 + const char* item = [ [ mpMenuItem title ] UTF8String ]; + if ( mpVCLMenu ) { + SAL_WARN( "vcl.osx", "created AquaSalMenuItem \"" << item << "\" of menu \"" << mpVCLMenu->GetText() << "\"" ); + } else { + // anything but a separator needs a menu to dispatch to + SAL_WARN( "vcl.osx", "created AquaSalMenuItem \"" << item << "\" of *no menu*" ); + } +#endif } } diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 9e3057f..b37dc7f 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -2477,6 +2477,8 @@ std::vector<OString> VclBuilder::handleItems(xmlreader::XmlReader &reader, const void VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString &rID) { + SAL_WARN( "vcl.window", "handleMenu" ); + VclPtr<PopupMenu> pCurrentMenu = VclPtr<PopupMenu>::Create(); int nLevel = 1; @@ -2522,6 +2524,8 @@ void VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString &rID) void VclBuilder::handleMenuChild(PopupMenu *pParent, xmlreader::XmlReader &reader) { + SAL_WARN( "vcl.window", "handleMenuChild" ); + xmlreader::Span name; int nsId; @@ -2719,14 +2723,17 @@ void VclBuilder::insertMenuObject(PopupMenu *pParent, const OString &rClass, con if (rClass == "GtkMenuItem") { OUString sLabel(OStringToOUString(convertMnemonicMarkup(extractLabel(rProps)), RTL_TEXTENCODING_UTF8)); + SAL_WARN( "vcl.window", "going to InsertItem with position " << nNewId << " & label \"" << sLabel << "\" & id \"" << rID << "\" @ insertMenuObject" ); pParent->InsertItem(nNewId, sLabel, MenuItemBits::TEXT, rID); } else if (rClass == "GtkSeparatorMenuItem") { + SAL_WARN( "vcl.window", "going to InsertSeparator with id \"" << rID << "\" @ insertMenuObject" ); pParent->InsertSeparator(rID); } + SAL_WARN( "vcl.window", "done insert @ insertMenuObject" ); - SAL_WARN_IF(nOldCount == pParent->GetItemCount(), "vcl.layout", "probably need to implement " << rClass.getStr()); + SAL_WARN_IF(nOldCount == pParent->GetItemCount(), "vcl", "probably need to implement " << rClass.getStr()); if (nOldCount != pParent->GetItemCount()) { @@ -2746,7 +2753,7 @@ void VclBuilder::insertMenuObject(PopupMenu *pParent, const OString &rClass, con else if (rKey == "has-default" && toBool(rValue)) pParent->SetSelectedEntry(nNewId); else - SAL_INFO("vcl.layout", "unhandled property: " << rKey.getStr()); + SAL_INFO( "vcl", "unhandled property \"" << rKey.getStr() << "\"" ); } for (stringmap::iterator aI = rAccels.begin(), aEnd = rAccels.end(); aI != aEnd; ++aI) @@ -2757,7 +2764,7 @@ void VclBuilder::insertMenuObject(PopupMenu *pParent, const OString &rClass, con if (rSignal == "activate") pParent->SetAccelKey(nNewId, makeKeyCode(rValue)); else - SAL_INFO("vcl.layout", "unhandled accelerator for: " << rSignal.getStr()); + SAL_INFO( "vcl", "unhandled accelerator for \"" << rSignal.getStr() << "\"" ); } } diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index 00b931e..597dc3c 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -242,7 +242,7 @@ void Menu::Deactivate() if ( ImplGetSalMenu() ) ImplGetSalMenu()->RemoveItem( n ); - pItemList->Remove( n ); + pItemList->RemoveMenuItem( n ); } } @@ -371,8 +371,8 @@ MenuItemData* Menu::NbcInsertItem(sal_uInt16 nId, MenuItemBits nBits, size_t nPos, const OString &rIdent) { // put Item in MenuItemList - MenuItemData* pData = pItemList->Insert(nId, MenuItemType::STRING, - nBits, rStr, Image(), pMenu, nPos, rIdent); + MenuItemData* pData = pItemList->InsertMenuItem( nId, MenuItemType::STRING, + nBits, rStr, Image(), pMenu, nPos, rIdent ); // update native menu if (ImplGetSalMenu() && pData->pSalMenuItem) @@ -526,6 +526,8 @@ void Menu::InsertItem(const OUString& rCommand, const css::uno::Reference<css::f void Menu::InsertSeparator(const OString &rIdent, sal_uInt16 nPos) { + SAL_WARN( "vcl", "Menu::InsertSeparator with ident \"" << rIdent << "\" & position " << nPos ); + // do nothing if it's a menu bar if (IsMenuBar()) return; @@ -535,13 +537,13 @@ void Menu::InsertSeparator(const OString &rIdent, sal_uInt16 nPos) nPos = MENU_APPEND; // put separator in item list - pItemList->InsertSeparator(rIdent, nPos); + MenuItemData *pData = pItemList->InsertSeparator( rIdent, nPos ); // update native menu - size_t itemPos = ( nPos != MENU_APPEND ) ? nPos : pItemList->size() - 1; - MenuItemData *pData = pItemList->GetDataFromPos( itemPos ); if( ImplGetSalMenu() && pData && pData->pSalMenuItem ) + { ImplGetSalMenu()->InsertItem( pData->pSalMenuItem, nPos ); + } delete mpLayoutData; mpLayoutData = nullptr; @@ -559,7 +561,7 @@ void Menu::RemoveItem( sal_uInt16 nPos ) if( ImplGetSalMenu() ) ImplGetSalMenu()->RemoveItem( nPos ); - pItemList->Remove( nPos ); + pItemList->RemoveMenuItem( nPos ); bRemove = true; } @@ -1404,7 +1406,7 @@ bool Menu::ImplGetNativeSubmenuArrowSize(vcl::RenderContext& rRenderContext, Siz void Menu::ImplAddDel( ImplMenuDelData& rDel ) { - SAL_WARN_IF( rDel.mpMenu, "vcl", "Menu::ImplAddDel(): cannot add ImplMenuDelData twice !" ); + SAL_WARN_IF( rDel.mpMenu, "vcl", "Menu::ImplAddDel(): cannot add ImplMenuDelData twice" ); if( !rDel.mpMenu ) { rDel.mpMenu = this; @@ -2245,7 +2247,7 @@ void Menu::MenuBarKeyInput(const KeyEvent&) { } -void Menu::ImplKillLayoutData() const +void Menu::ImplBinLayoutData() const { delete mpLayoutData; mpLayoutData = nullptr; diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx index f922901..a70205d 100644 --- a/vcl/source/window/menubarwindow.cxx +++ b/vcl/source/window/menubarwindow.cxx @@ -984,7 +984,7 @@ void MenuBarWindow::StateChanged( StateChangedType nType ) } else if(pMenu) { - pMenu->ImplKillLayoutData(); + pMenu->ImplBinLayoutData(); } } @@ -1010,7 +1010,7 @@ void MenuBarWindow::LayoutChanged() Invalidate(); Resize(); - pMenu->ImplKillLayoutData(); + pMenu->ImplBinLayoutData(); } void MenuBarWindow::ApplySettings(vcl::RenderContext& rRenderContext) diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx index 79586c0..5b8493b 100644 --- a/vcl/source/window/menufloatingwindow.cxx +++ b/vcl/source/window/menufloatingwindow.cxx @@ -599,7 +599,7 @@ void MenuFloatingWindow::ImplScroll( bool bUp ) Invalidate(); - pMenu->ImplKillLayoutData(); + pMenu->ImplBinLayoutData(); if ( bScrollUp && bUp ) { diff --git a/vcl/source/window/menuitemlist.cxx b/vcl/source/window/menuitemlist.cxx index 44757a4..27eb2eb 100644 --- a/vcl/source/window/menuitemlist.cxx +++ b/vcl/source/window/menuitemlist.cxx @@ -50,7 +50,7 @@ MenuItemList::~MenuItemList() delete i; } -MenuItemData* MenuItemList::Insert( +MenuItemData* MenuItemList::InsertMenuItem( sal_uInt16 nId, MenuItemType eType, MenuItemBits nBits, @@ -61,6 +61,12 @@ MenuItemData* MenuItemList::Insert( const OString &rIdent ) { + SAL_WARN( "vcl", "MenuItemList::InsertMenuItem with ident \"" << rIdent << "\" & id " << nId + << " & text \"" << rStr << "\" & position " << nPos ); + + if ( eType == MenuItemType::SEPARATOR ) + return InsertSeparator( rIdent, nPos ); + MenuItemData* pData = new MenuItemData( rStr, rImage ); pData->nId = nId; pData->sIdent = rIdent; @@ -90,11 +96,14 @@ MenuItemData* MenuItemList::Insert( } else { maItemList.push_back( pData ); } + return pData; } -void MenuItemList::InsertSeparator(const OString &rIdent, size_t nPos) +MenuItemData* MenuItemList::InsertSeparator( const OString &rIdent, size_t nPos ) { + SAL_WARN( "vcl", "MenuItemList::InsertSeparator with ident \"" << rIdent << "\" & position " << nPos ); + MenuItemData* pData = new MenuItemData; pData->nId = 0; pData->sIdent = rIdent; @@ -116,23 +125,94 @@ void MenuItemList::InsertSeparator(const OString &rIdent, size_t nPos) aSalMIData.aText.clear(); aSalMIData.aImage = Image(); - // Native-support: returns NULL if not supported + // create native item returns nil if it is not supported pData->pSalMenuItem = ImplGetSVData()->mpDefInst->CreateMenuItem( &aSalMIData ); if( nPos < maItemList.size() ) { - maItemList.insert( maItemList.begin() + nPos, pData ); + if ( maItemList[ nPos ] && maItemList[ nPos ]->eType != MenuItemType::SEPARATOR ) + { + if ( nPos > 0 && maItemList[ nPos - 1 ] && maItemList[ nPos - 1 ]->eType != MenuItemType::SEPARATOR ) + { + maItemList.insert( maItemList.begin() + nPos, pData ); + } + else { SAL_WARN( "vcl", "separator is just above" ); } + } + else { SAL_WARN( "vcl", "separator is already here" ); } } else { - maItemList.push_back( pData ); + if ( maItemList.back() && maItemList.back()->eType != MenuItemType::SEPARATOR ) + { + maItemList.push_back( pData ); + } } + + return pData; } -void MenuItemList::Remove( size_t nPos ) +void MenuItemList::RemoveMenuItem( size_t nPos ) { if( nPos < maItemList.size() ) { delete maItemList[ nPos ]; maItemList.erase( maItemList.begin() + nPos ); } + + PeelSeparators(); +} + +// bin double separators and boundary ones +bool MenuItemList::PeelSeparators( bool bLastOneToo ) +{ + SAL_WARN( "vcl", "MenuItemList::PeelSeparators" ); + + bool bRet = false; + + for ( size_t i = 1; i < maItemList.size(); ++i ) + { + if ( ( maItemList[ i ] && maItemList[ i ]->eType == MenuItemType::SEPARATOR ) + && ( maItemList[ i - 1 ] && maItemList[ i - 1 ]->eType == MenuItemType::SEPARATOR ) ) { + SAL_WARN( "vcl.window", "double separators @" << OUString::number( i ) << " & @" << OUString::number( i - 1 ) ); + delete maItemList[ i ]; + maItemList.erase( maItemList.begin() + i ); + i--; + bRet = true; + } + } + + while ( maItemList.size() > 0 ) + { + if ( maItemList[ 0 ] && maItemList[ 0 ]->eType == MenuItemType::SEPARATOR ) + { + SAL_WARN( "vcl.window", "first item @" << OUString::number( 0 ) + << " \"" << maItemList[ 0 ]->aText + << "\" id " << OUString::number( maItemList[ 0 ]->nId ) + << " is separator" ); + delete maItemList[ 0 ]; + maItemList.erase( maItemList.begin() ); + bRet = true; + } + else { break; } + } + + if ( bLastOneToo ) + { + while ( maItemList.size() > 0 ) + { + if ( maItemList[ maItemList.size() - 1 ]->eType == MenuItemType::SEPARATOR ) + { + size_t n = maItemList.size() - 1; + SAL_WARN( "vcl.window", "last item @" << OUString::number( n ) + << " \"" << maItemList[ n ]->aText + << "\" id " << OUString::number( maItemList[ n ]->nId ) + << " is separator" ); + delete maItemList[ n ]; + maItemList.erase( maItemList.end() ); + bRet = true; + } + else { break; } + } + } + + return bRet; } MenuItemData* MenuItemList::GetData( sal_uInt16 nSVId, size_t& rPos ) const diff --git a/vcl/source/window/menuitemlist.hxx b/vcl/source/window/menuitemlist.hxx index 89befc1..a2eedb9 100644 --- a/vcl/source/window/menuitemlist.hxx +++ b/vcl/source/window/menuitemlist.hxx @@ -97,14 +97,13 @@ struct MenuItemData class MenuItemList { private: - typedef ::std::vector< MenuItemData* > MenuItemDataList_impl; - MenuItemDataList_impl maItemList; + ::std::vector< MenuItemData* > maItemList; public: MenuItemList() {} ~MenuItemList(); - MenuItemData* Insert( + MenuItemData* InsertMenuItem( sal_uInt16 nId, MenuItemType eType, MenuItemBits nBits, @@ -114,8 +113,9 @@ public: size_t nPos, const OString &rIdent ); - void InsertSeparator(const OString &rIdent, size_t nPos); - void Remove( size_t nPos ); + MenuItemData* InsertSeparator(const OString &rIdent, size_t nPos); + void RemoveMenuItem( size_t nPos ); + bool PeelSeparators( bool bLastOneToo = false ); MenuItemData* GetData( sal_uInt16 nSVId, size_t& rPos ) const; MenuItemData* GetData( sal_uInt16 nSVId ) const commit 56429366f66544a017d996902ae848da69147723 Author: Douglas Mencken <dougmenc...@gmail.com> Date: Fri Oct 7 14:03:18 2016 -0400 Let that â abletorunwindowsnativelysowhytouseOS â rest in peace This reverts commit a6c88e4bf1d148ac462c2bcd7061eff602b627d6 SAL_WNODEPRECATED_DECLARATIONS_ around new 10.12 deprecations diff --git a/apple_remote/source/RemoteMainController.m b/apple_remote/source/RemoteMainController.m index 9e933a3..79af22f 100644 --- a/apple_remote/source/RemoteMainController.m +++ b/apple_remote/source/RemoteMainController.m @@ -85,8 +85,6 @@ - (void) postTheEvent: (short int)buttonIdentifier modifierFlags:(int)modifierFlags { -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12 [NSApp postEvent: [NSEvent otherEventWithType:NSApplicationDefined location:NSZeroPoint @@ -98,7 +96,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH data1: buttonIdentifier data2: 0] atStart: NO]; -SAL_WNODEPRECATED_DECLARATIONS_POP } diff --git a/vcl/osx/DropTarget.cxx b/vcl/osx/DropTarget.cxx index 90abe7a..5fb8a72 100644 --- a/vcl/osx/DropTarget.cxx +++ b/vcl/osx/DropTarget.cxx @@ -388,12 +388,7 @@ void SAL_CALL DropTarget::initialize(const Sequence< Any >& aArguments) id wnd = [mView window]; NSWindow* parentWnd = [wnd parentWindow]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSClosableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSResizableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSTitleWindowMask' is deprecated: first deprecated in macOS 10.12 unsigned int topWndStyle = (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask); -SAL_WNODEPRECATED_DECLARATIONS_POP unsigned int wndStyles = [wnd styleMask] & topWndStyle; if (parentWnd == nil && (wndStyles == topWndStyle)) diff --git a/vcl/osx/a11ytextattributeswrapper.mm b/vcl/osx/a11ytextattributeswrapper.mm index 7374a86..042fafd 100644 --- a/vcl/osx/a11ytextattributeswrapper.mm +++ b/vcl/osx/a11ytextattributeswrapper.mm @@ -272,11 +272,6 @@ using namespace ::com::sun::star::uno; sal_Int32 alignment; property.Value >>= alignment; NSNumber *textAlignment = nil; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSCenterTextAlignment' is deprecated: first deprecated in macOS 10.12 - // 'NSJustifiedTextAlignment' is deprecated: first deprecated in macOS 10.12 - // 'NSLeftTextAlignment' is deprecated: first deprecated in macOS 10.12 - // 'NSRightTextAlignment' is deprecated: first deprecated in macOS 10.12 switch(alignment) { case css::style::ParagraphAdjust_RIGHT : textAlignment = [NSNumber numberWithInteger:NSRightTextAlignment] ; break; case css::style::ParagraphAdjust_CENTER: textAlignment = [NSNumber numberWithInteger:NSCenterTextAlignment] ; break; @@ -284,7 +279,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH case css::style::ParagraphAdjust_LEFT : default : textAlignment = [NSNumber numberWithInteger:NSLeftTextAlignment] ; break; } -SAL_WNODEPRECATED_DECLARATIONS_POP NSDictionary *paragraphStyle = [NSDictionary dictionaryWithObjectsAndKeys:textAlignment, @"AXTextAlignment", textAlignment, @"AXVisualTextAlignment", nil]; [string addAttribute:@"AXParagraphStyle" value:paragraphStyle range:range]; } diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx index f082a416..6800e4b 100644 --- a/vcl/osx/salframe.cxx +++ b/vcl/osx/salframe.cxx @@ -156,12 +156,6 @@ void AquaSalFrame::initWindowAndView() maGeometry.nHeight = static_cast<unsigned int>(aVisibleRect.size.height * 0.8); // calculate style mask -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSBorderlessWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSClosableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSMiniaturizableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSResizableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSTitledWindowMask' is deprecated: first deprecated in macOS 10.12 if( (mnStyle & SalFrameStyleFlags::FLOAT) || (mnStyle & SalFrameStyleFlags::OWNERDRAWDECORATION) ) mnStyleMask = NSBorderlessWindowMask; @@ -195,7 +189,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH if( mnStyleMask != 0 ) mnStyleMask |= NSTitledWindowMask; } -SAL_WNODEPRECATED_DECLARATIONS_POP // #i91990# support GUI-less (daemon) execution @try @@ -1413,17 +1406,6 @@ SalPointerState AquaSalFrame::GetPointerState() if( pCur ) { bMouseEvent = true; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSLeftMouseDown' is deprecated: first deprecated in macOS 10.12 - // 'NSLeftMouseDragged' is deprecated: first deprecated in macOS 10.12 - // 'NSLeftMouseUp' is deprecated: first deprecated in macOS 10.12 - // 'NSMouseMoved' is deprecated: first deprecated in macOS 10.12 - // 'NSOtherMouseDown' is deprecated: first deprecated in macOS 10.12 - // 'NSOtherMouseDragged' is deprecated: first deprecated in macOS 10.12 - // 'NSOtherMouseUp' is deprecated: first deprecated in macOS 10.12 - // 'NSRightMouseDown' is deprecated: first deprecated in macOS 10.12 - // 'NSRightMouseDragged' is deprecated: first deprecated in macOS 10.12 - // 'NSRightMouseUp' is deprecated: first deprecated in macOS 10.12 switch( [pCur type] ) { case NSLeftMouseDown: state.mnState |= MOUSE_LEFT; break; @@ -1441,16 +1423,10 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH bMouseEvent = false; break; } -SAL_WNODEPRECATED_DECLARATIONS_POP } if( bMouseEvent ) { unsigned int nMask = (unsigned int)[pCur modifierFlags]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 if( (nMask & NSShiftKeyMask) != 0 ) state.mnState |= KEY_SHIFT; if( (nMask & NSControlKeyMask) != 0 ) @@ -1459,7 +1435,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH state.mnState |= KEY_MOD2; if( (nMask & NSCommandKeyMask) != 0 ) state.mnState |= KEY_MOD1; -SAL_WNODEPRECATED_DECLARATIONS_POP } else diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm index 060a7d5..f779570 100644 --- a/vcl/osx/salframeview.mm +++ b/vcl/osx/salframeview.mm @@ -46,11 +46,6 @@ static sal_uInt16 ImplGetModifierMask( unsigned int nMask ) { sal_uInt16 nRet = 0; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 if( (nMask & NSShiftKeyMask) != 0 ) nRet |= KEY_SHIFT; if( (nMask & NSControlKeyMask) != 0 ) @@ -59,7 +54,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH nRet |= KEY_MOD2; if( (nMask & NSCommandKeyMask) != 0 ) nRet |= KEY_MOD1; -SAL_WNODEPRECATED_DECLARATIONS_POP return nRet; } @@ -166,14 +160,8 @@ static const struct ExceptionalKey const unsigned int nModifierMask; } aExceptionalKeys[] = { -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 { KEY_D, NSControlKeyMask | NSShiftKeyMask | NSAlternateKeyMask }, { KEY_D, NSCommandKeyMask | NSShiftKeyMask | NSAlternateKeyMask } -SAL_WNODEPRECATED_DECLARATIONS_POP }; static AquaSalFrame* getMouseContainerFrame() @@ -868,10 +856,7 @@ private: { dX += [pEvent deltaX]; dY += [pEvent deltaY]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSScrollWheelMask' is deprecated: first deprecated in macOS 10.12 NSEvent* pNextEvent = [NSApp nextEventMatchingMask: NSScrollWheelMask -SAL_WNODEPRECATED_DECLARATIONS_POP untilDate: nil inMode: NSDefaultRunLoopMode dequeue: YES ]; if( !pNextEvent ) break; @@ -931,10 +916,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP { dX += [pEvent deltaX]; dY += [pEvent deltaY]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSScrollWheelMask' is deprecated: first deprecated in macOS 10.12 NSEvent* pNextEvent = [NSApp nextEventMatchingMask: NSScrollWheelMask -SAL_WNODEPRECATED_DECLARATIONS_POP untilDate: nil inMode: NSDefaultRunLoopMode dequeue: YES ]; if( !pNextEvent ) break; @@ -1020,12 +1002,8 @@ SAL_WNODEPRECATED_DECLARATIONS_POP interpretKeyEvents (why?). Try to dispatch them here first, if not successful continue normally */ -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 if( (mpFrame->mnLastModifierFlags & (NSAlternateKeyMask | NSCommandKeyMask)) == (NSAlternateKeyMask | NSCommandKeyMask) ) -SAL_WNODEPRECATED_DECLARATIONS_POP { if( [self sendSingleCharacter: mpLastEvent] ) return YES; @@ -1101,12 +1079,6 @@ SAL_WNODEPRECATED_DECLARATIONS_POP // #i99567# // find out the unmodified key code -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSKeyDown' is deprecated: first deprecated in macOS 10.12 - // 'NSKeyUp' is deprecated: first deprecated in macOS 10.12 // sanity check if( mpLastEvent && ( [mpLastEvent type] == NSKeyDown || [mpLastEvent type] == NSKeyUp ) ) { @@ -1130,7 +1102,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH { nLastModifiers = 0; } -SAL_WNODEPRECATED_DECLARATIONS_POP [self sendKeyInputAndReleaseToFrame: nKeyCode character: aCharCode modifiers: nLastModifiers]; } else @@ -1183,10 +1154,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP -(void)moveLeftAndModifySelection: (id)aSender { (void)aSender; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 [self sendKeyInputAndReleaseToFrame: KEY_LEFT character: 0 modifiers: NSShiftKeyMask]; -SAL_WNODEPRECATED_DECLARATIONS_POP } -(void)moveBackwardAndModifySelection: (id)aSender @@ -1204,10 +1172,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP -(void)moveRightAndModifySelection: (id)aSender { (void)aSender; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 [self sendKeyInputAndReleaseToFrame: KEY_RIGHT character: 0 modifiers: NSShiftKeyMask]; -SAL_WNODEPRECATED_DECLARATIONS_POP } -(void)moveForwardAndModifySelection: (id)aSender diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx index d46591f..34830a8 100644 --- a/vcl/osx/salinst.cxx +++ b/vcl/osx/salinst.cxx @@ -373,8 +373,6 @@ void AquaSalInstance::wakeupYield() if( mbWaitingYield ) { SalData::ensureThreadAutoreleasePool(); -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12 NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined location: NSZeroPoint modifierFlags: 0 @@ -384,7 +382,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH subtype: AquaSalInstance::YieldWakeupEvent data1: 0 data2: 0 ]; -SAL_WNODEPRECATED_DECLARATIONS_POP if( pEvent ) [NSApp postEvent: pEvent atStart: NO]; } @@ -623,10 +620,7 @@ SalYieldResult AquaSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents { sal_uLong nCount = ReleaseYieldMutex(); -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAnyEventMask' is deprecated: first deprecated in macOS 10.12 pEvent = [NSApp nextEventMatchingMask: NSAnyEventMask untilDate: nil -SAL_WNODEPRECATED_DECLARATIONS_POP inMode: NSDefaultRunLoopMode dequeue: YES]; if( pEvent ) { @@ -644,10 +638,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP sal_uLong nCount = ReleaseYieldMutex(); NSDate* pDt = AquaSalTimer::pRunningTimer ? [AquaSalTimer::pRunningTimer fireDate] : [NSDate distantFuture]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAnyEventMask' is deprecated: first deprecated in macOS 10.12 pEvent = [NSApp nextEventMatchingMask: NSAnyEventMask untilDate: pDt -SAL_WNODEPRECATED_DECLARATIONS_POP inMode: NSDefaultRunLoopMode dequeue: YES]; if( pEvent ) [NSApp sendEvent: pEvent]; @@ -749,23 +740,6 @@ bool AquaSalInstance::AnyInput( VclInputFlags nType ) return false; unsigned/*NSUInteger*/ nEventMask = 0; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSFlagsChangedMask' is deprecated: first deprecated in macOS 10.12 - // 'NSKeyDownMask' is deprecated: first deprecated in macOS 10.12 - // 'NSKeyUpMask' is deprecated: first deprecated in macOS 10.12 - // 'NSLeftMouseDownMask' is deprecated: first deprecated in macOS 10.12 - // 'NSLeftMouseDraggedMask' is deprecated: first deprecated in macOS 10.12 - // 'NSLeftMouseUpMask' is deprecated: first deprecated in macOS 10.12 - // 'NSMouseEnteredMask' is deprecated: first deprecated in macOS 10.12 - // 'NSMouseExitedMask' is deprecated: first deprecated in macOS 10.12 - // 'NSOtherMouseDownMask' is deprecated: first deprecated in macOS 10.12 - // 'NSOtherMouseDraggedMask' is deprecated: first deprecated in macOS 10.12 - // 'NSOtherMouseUpMask' is deprecated: first deprecated in macOS 10.12 - // 'NSRightMouseDownMask' is deprecated: first deprecated in macOS 10.12 - // 'NSRightMouseDraggedMask' is deprecated: first deprecated in macOS 10.12 - // 'NSRightMouseUpMask' is deprecated: first deprecated in macOS 10.12 - // 'NSScrollWheelMask' is deprecated: first deprecated in macOS 10.12 - // 'NSTabletPoint' is deprecated: first deprecated in macOS 10.12 if( nType & VclInputFlags::MOUSE) nEventMask |= NSLeftMouseDownMask | NSRightMouseDownMask | NSOtherMouseDownMask | @@ -778,7 +752,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH nEventMask |= NSKeyDownMask | NSKeyUpMask | NSFlagsChangedMask; if( nType & VclInputFlags::OTHER) nEventMask |= NSTabletPoint; -SAL_WNODEPRECATED_DECLARATIONS_POP // TODO: VclInputFlags::PAINT / more VclInputFlags::OTHER if( !bool(nType) ) return false; diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx index a7b90a0..e5947a4 100644 --- a/vcl/osx/salmenu.cxx +++ b/vcl/osx/salmenu.cxx @@ -157,10 +157,7 @@ static void initAppMenu() [pString release]; if( pNewItem ) { -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 [pNewItem setKeyEquivalentModifierMask: NSCommandKeyMask]; -SAL_WNODEPRECATED_DECLARATIONS_POP [pNewItem setTarget: pMainMenuSelector]; [pAppMenu insertItem: [NSMenuItem separatorItem] atIndex: 3]; } @@ -758,11 +755,6 @@ void AquaSalMenu::SetAccelerator( unsigned /*nPos*/, SalMenuItem* pSalMenuItem, // should always use the command key int nItemModifier = 0; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 if (nModifier & KEY_SHIFT) { nItemModifier |= NSShiftKeyMask; // actually useful only for function keys @@ -778,7 +770,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH if(nModifier & KEY_MOD3) nItemModifier |= NSControlKeyMask; -SAL_WNODEPRECATED_DECLARATIONS_POP AquaSalMenuItem *pAquaSalMenuItem = static_cast<AquaSalMenuItem *>(pSalMenuItem); NSString* pString = CreateNSString( OUString( &nCommandKey, 1 ) ); diff --git a/vcl/osx/salnsmenu.mm b/vcl/osx/salnsmenu.mm index f777a44..be772f9 100644 --- a/vcl/osx/salnsmenu.mm +++ b/vcl/osx/salnsmenu.mm @@ -99,12 +99,6 @@ // must still end up in the view. This is necessary to handle common edit actions in docked // windows (e.g. in toolbar fields). NSEvent* pEvent = [NSApp currentEvent]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSKeyDown' is deprecated: first deprecated in macOS 10.12 - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 if( pEvent && [pEvent type] == NSKeyDown ) { unsigned int nModMask = ([pEvent modifierFlags] & (NSShiftKeyMask|NSControlKeyMask|NSAlternateKeyMask|NSCommandKeyMask)); @@ -120,7 +114,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH return; } } -SAL_WNODEPRECATED_DECLARATIONS_POP const AquaSalFrame* pFrame = mpMenuItem->mpParentMenu ? mpMenuItem->mpParentMenu->getFrame() : nullptr; if( pFrame && AquaSalFrame::isAlive( pFrame ) && ! pFrame->GetWindow()->IsInModalMode() ) @@ -180,10 +173,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP aImgRect.origin.y = floor((aFrame.size.height - aFromRect.size.height)/2); aImgRect.size = aFromRect.size; if( rButtons[i].mpNSImage ) -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSCompositeSourceOver' is deprecated: first deprecated in macOS 10.12 [rButtons[i].mpNSImage drawInRect: aImgRect fromRect: aFromRect operation: NSCompositeSourceOver fraction: 1.0]; -SAL_WNODEPRECATED_DECLARATIONS_POP aImgRect.origin.x += aFromRect.size.width + 2; } } diff --git a/vcl/osx/saltimer.cxx b/vcl/osx/saltimer.cxx index 2a31581..5a242e8 100644 --- a/vcl/osx/saltimer.cxx +++ b/vcl/osx/saltimer.cxx @@ -68,8 +68,6 @@ void ImplSalStartTimer( sal_uLong nMS ) { SalData::ensureThreadAutoreleasePool(); // post an event so we can get into the main thread -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12 NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined location: NSZeroPoint modifierFlags: 0 @@ -79,7 +77,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH subtype: AquaSalInstance::AppStartTimerEvent data1: (int)nMS data2: 0 ]; -SAL_WNODEPRECATED_DECLARATIONS_POP if( pEvent ) [NSApp postEvent: pEvent atStart: YES]; } diff --git a/vcl/osx/vclnsapp.mm b/vcl/osx/vclnsapp.mm index 4c38466..43fc01e 100644 --- a/vcl/osx/vclnsapp.mm +++ b/vcl/osx/vclnsapp.mm @@ -61,8 +61,6 @@ { (void)pNotification; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12 NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined location: NSZeroPoint modifierFlags: 0 @@ -72,7 +70,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH subtype: AquaSalInstance::AppExecuteSVMain data1: 0 data2: 0 ]; -SAL_WNODEPRECATED_DECLARATIONS_POP if( pEvent ) [NSApp postEvent: pEvent atStart: NO]; } @@ -80,15 +77,6 @@ SAL_WNODEPRECATED_DECLARATIONS_POP -(void)sendEvent:(NSEvent*)pEvent { NSEventType eType = [pEvent type]; -SAL_WNODEPRECATED_DECLARATIONS_PUSH - // 'NSAlternateKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSApplicationDefined' is deprecated: first deprecated in macOS 10.12 - // 'NSClosableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSCommandKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSControlKeyMask' is deprecated: first deprecated in macOS 10.12 - // 'NSKeyDown' is deprecated: first deprecated in macOS 10.12 - // 'NSMiniaturizableWindowMask' is deprecated: first deprecated in macOS 10.12 - // 'NSShiftKeyMask' is deprecated: first deprecated in macOS 10.12 if( eType == NSApplicationDefined ) { AquaSalInstance::handleAppDefinedEvent( pEvent ); @@ -236,7 +224,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH } } } -SAL_WNODEPRECATED_DECLARATIONS_POP [super sendEvent: pEvent]; } commit f5e8077fb293846bedb787f325182008beed858e Author: Douglas Mencken <dougmenc...@gmail.com> Date: Sun Sep 25 09:15:34 2016 -0400 Tweaks for instsetoo_native/CustomTarget_setup.mk when â ' â is used in some variable, this script fails e.g syntax error near unexpected token `(' /bin/sh: -c: line 9: `&& echo 'UpdateUserAgent=<PRODUCT> (${buildid}; ${_OS}; ${_ARCH}; <OPTIONAL_OS_HW_DATA>)' \' /bin/sh: -c: line 10: unexpected EOF while looking for matching `'' /bin/sh: -c: line 12: syntax error: unexpected end of file Change-Id: Id68558533b14e81bd4c4a3f72e7946d9c6ffc5bd diff --git a/instsetoo_native/CustomTarget_setup.mk b/instsetoo_native/CustomTarget_setup.mk index c8b9757..f186c48 100644 --- a/instsetoo_native/CustomTarget_setup.mk +++ b/instsetoo_native/CustomTarget_setup.mk @@ -150,16 +150,16 @@ $(call gb_CustomTarget_get_workdir,instsetoo_native/setup)/$(call gb_Helper_get_ $(call gb_CustomTarget_get_workdir,instsetoo_native/setup)/$(call gb_Helper_get_rcfile,version) : $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1) ( \ - echo '[Version]' \ - && echo 'AllLanguages=$(if $(gb_WITH_LANG),$(gb_WITH_LANG),en-US)' \ - && echo 'BuildVersion=$(BUILD_VER_STRING)' \ - && echo 'buildid=$(shell cd $(SRCDIR) && git log -1 --format=%H)' \ - && echo 'ExtensionUpdateURL=http://updateexte.libreoffice.org/ExtensionUpdateService/check.Update' \ - && echo 'ReferenceOOoMajorMinor=4.1' \ - && echo 'UpdateID=$(PRODUCTNAME)_$(LIBO_VERSION_MAJOR)_en-US' \ - && echo 'UpdateURL=$(if $(ENABLE_ONLINE_UPDATE),http://update.libreoffice.org/check.php$(if $(filter-out WNT,$(OS)),?pkgfmt=$(PKGFORMAT)))' \ - && echo 'UpdateUserAgent=<PRODUCT> ($${buildid}; $${_OS}; $${_ARCH}; <OPTIONAL_OS_HW_DATA>)' \ - && echo 'Vendor=$(OOO_VENDOR)' \ + echo "[Version]" \ + && echo "AllLanguages=$(if $(gb_WITH_LANG),$(gb_WITH_LANG),en-US)" \ + && echo "BuildVersion=$(BUILD_VER_STRING)" \ + && echo "buildid=$(shell cd $(SRCDIR) && git log -1 --format=%H)" \ + && echo "ExtensionUpdateURL=http://updateexte.libreoffice.org/ExtensionUpdateService/check.Update" \ + && echo "ReferenceOOoMajorMinor=4.1" \ + && echo "UpdateID=$(PRODUCTNAME)_$(LIBO_VERSION_MAJOR)_en-US" \ + && echo "UpdateURL=$(if $(ENABLE_ONLINE_UPDATE),http://update.libreoffice.org/check.php$(if $(filter-out WNT,$(OS)),?pkgfmt=$(PKGFORMAT)))" \ + && echo "UpdateUserAgent=LibreOffice for Mac OS X PowerPC <OPTIONAL_OS_HW_DATA>" \ + && echo "Vendor=$(OOO_VENDOR)" \ ) > $@ # vim: set noet sw=4 ts=4: commit e9393d8ff32e8da885ebd2e287bc6a7720a8e9da Author: Douglas Mencken <dougmenc...@gmail.com> Date: Sun Sep 18 16:49:21 2016 -0400 trying to figure out whatâs wrong with gengal and paths diff --git a/svx/source/gallery2/gallery1.cxx b/svx/source/gallery2/gallery1.cxx index 69a380e..c593e1b 100644 --- a/svx/source/gallery2/gallery1.cxx +++ b/svx/source/gallery2/gallery1.cxx @@ -193,11 +193,17 @@ Gallery* Gallery::GetGalleryInstance() void Gallery::ImplLoad( const OUString& rMultiPath ) { +OString blah = OUStringToOString( rMultiPath, RTL_TEXTENCODING_UTF8 ); +fprintf( stderr, "void Gallery::ImplLoad( \"%s\" )\n", blah.pData->buffer ); + const sal_Int32 nTokenCount = comphelper::string::getTokenCount(rMultiPath, ';'); bool bIsReadOnlyDir; bMultiPath = ( nTokenCount > 0 ); +OString configpath = OUStringToOString( SvtPathOptions().GetConfigPath(), RTL_TEXTENCODING_UTF8 ); +fprintf( stderr, "void Gallery::ImplLoad SvtPathOptions().GetConfigPath() is \"%s\"\n", configpath.pData->buffer ); + INetURLObject aCurURL(SvtPathOptions().GetConfigPath()); ImplLoadSubDirs( aCurURL, bIsReadOnlyDir ); @@ -227,6 +233,8 @@ void Gallery::ImplLoad( const OUString& rMultiPath ) void Gallery::ImplLoadSubDirs( const INetURLObject& rBaseURL, bool& rbDirIsReadOnly ) { +fprintf( stderr, "void Gallery::ImplLoadSubDirs\n" ); + rbDirIsReadOnly = false; try diff --git a/svx/source/gengal/gengal.cxx b/svx/source/gengal/gengal.cxx index 4541118..e29af99 100644 --- a/svx/source/gengal/gengal.cxx +++ b/svx/source/gengal/gengal.cxx @@ -61,6 +61,9 @@ protected: Gallery* createGallery( const OUString& rURL ) { +OString blah = OUStringToOString( rURL, RTL_TEXTENCODING_UTF8 ); +fprintf( stderr, "gengal createGallery( \"%s\" )\n", blah.pData->buffer ); + return new Gallery( rURL ); } @@ -73,9 +76,9 @@ static void createTheme( const OUString& aThemeName, const OUString& aGalleryURL const OUString& aDestDir, std::vector<INetURLObject> &rFiles, bool bRelativeURLs ) { - Gallery* pGallery; +fprintf( stderr, "gengal top of static void createTheme\n" ); - pGallery = createGallery( aGalleryURL ); + Gallery* pGallery = createGallery( aGalleryURL ); if (!pGallery ) { fprintf( stderr, "Could't create '%s'\n", OUStringToOString( aGalleryURL, RTL_TEXTENCODING_UTF8 ).getStr() ); @@ -170,9 +173,10 @@ static INetURLObject Smartify( const OUString &rPath ) void GalApp::Init() { - try { if( !mbInBuildTree && getenv( "OOO_INSTALL_PREFIX" ) == nullptr ) { OUString fileName = GetAppFileName(); +OString blah = OUStringToOString( fileName, RTL_TEXTENCODING_UTF8 ); +fprintf( stderr, "gengal GalApp::Init() fileName is \"%s\"\n", blah.pData->buffer ); int lastSlash = fileName.lastIndexOf( '/' ); #ifdef _WIN32 // Don't know which directory separators GetAppFileName() returns on Windows. @@ -180,32 +184,30 @@ void GalApp::Init() if( fileName.lastIndexOf( '\\' ) > lastSlash ) lastSlash = fileName.lastIndexOf( '\\' ); #endif - OUString baseBinDir = fileName.copy( 0, lastSlash ); - OUString installPrefix = baseBinDir + "/../.."; + OUString path = fileName.copy( 0, lastSlash ); + OUString installPrefix = path + "/../.."; - OUString envVar( "OOO_INSTALL_PREFIX"); - osl_setEnvironment(envVar.pData, installPrefix.pData); + OUString envVar( "OOO_INSTALL_PREFIX" ); + osl_setEnvironment( envVar.pData, installPrefix.pData ); } SAL_INFO("svx", "OOO_INSTALL_PREFIX=" << getenv( "OOO_INSTALL_PREFIX" ) ); - uno::Reference<uno::XComponentContext> xComponentContext - = ::cppu::defaultBootstrap_InitialComponentContext(); - xMSF.set( xComponentContext->getServiceManager(), uno::UNO_QUERY ); - if( !xMSF.is() ) + uno::Reference<uno::XComponentContext> xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext(); + bool okay = true; + if ( ! xComponentContext.is() ) + okay = false; + else + { + xMSF.set( xComponentContext->getServiceManager(), uno::UNO_QUERY ); + if( !xMSF.is() ) okay = false; + } + if ( ! okay ) { - fprintf( stderr, "Failed to bootstrap\n" ); + fprintf( stderr, "GalApp::Init can not bootstrap\n" ); exit( 1 ); } - ::comphelper::setProcessServiceFactory( xMSF ); - // For backwards compatibility, in case some code still uses plain - // createInstance w/o args directly to obtain an instance: - css::ucb::UniversalContentBroker::create(xComponentContext); - } catch (const uno::Exception &e) { - fprintf( stderr, "Bootstrap exception '%s'\n", - rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - exit( 1 ); - } + ::comphelper::setProcessServiceFactory( xMSF ); } std::vector<OUString> ReadResponseFile_Impl(OUString const& rInput) @@ -275,6 +277,8 @@ ReadResponseFile(std::vector<INetURLObject> & rFiles, OUString const& rInput) int GalApp::Main() { +fprintf( stderr, "hola from gengal GalApp::Main()\n" ); + try { OUString aPath, aDestDir; @@ -341,6 +345,7 @@ void GalApp::DeInit() void vclmain::createApplication() { +fprintf( stderr, "top of gengal vclmain::createApplication()\n" ); Application::EnableConsoleOnly(); static GalApp aGalApp; } diff --git a/unotools/source/config/pathoptions.cxx b/unotools/source/config/pathoptions.cxx index 5accec7..be588c1 100644 --- a/unotools/source/config/pathoptions.cxx +++ b/unotools/source/config/pathoptions.cxx @@ -212,6 +212,8 @@ static const VarNameAttribute aVarNameAttribute[] = const OUString& SvtPathOptions_Impl::GetPath( SvtPathOptions::Paths ePath ) { +fprintf( stderr, "const OUString& SvtPathOptions_Impl::GetPath( SvtPathOptions::Paths ePath )\n" ); + if ( ePath >= SvtPathOptions::PATH_COUNT ) return m_aEmptyString; @@ -401,12 +403,18 @@ SvtPathOptions_Impl::SvtPathOptions_Impl() : m_aLanguageTag( LANGUAGE_DONTKNOW ) { Reference< XComponentContext > xContext = comphelper::getProcessComponentContext(); +fprintf( stderr, "xContext okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" ); // Create necessary services Reference< XPathSettings > xPathSettings = thePathSettings::get(xContext); +fprintf( stderr, "xPathSettings okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" ); + m_xPathSettings.set( xPathSettings, UNO_QUERY_THROW ); +fprintf( stderr, "m_xPathSettings okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" ); m_xSubstVariables.set( PathSubstitution::create(xContext) ); +fprintf( stderr, "m_xSubstVariables okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" ); m_xMacroExpander = theMacroExpander::get(xContext); +fprintf( stderr, "m_xMacroExpander okay @ SvtPathOptions_Impl::SvtPathOptions_Impl()\n" ); // Create temporary hash map to have a mapping between property names and property handles Reference< XPropertySetInfo > xPropSetInfo = xPathSettings->getPropertySetInfo(); @@ -435,15 +443,17 @@ SvtPathOptions_Impl::SvtPathOptions_Impl() : } } - // Create hash map for path variables that need a system path as a return value! + // Create hash map for path variables that need a system path as a return value nCount = sizeof( aVarNameAttribute ) / sizeof( VarNameAttribute ); for ( i = 0; i < nCount; i++ ) { m_aSystemPathVarNames.insert( OUString::createFromAscii( aVarNameAttribute[i].pVarName ) ); } - // Set language type! + // Set language type m_aLanguageTag.reset( ConfigManager::getLocale() ); + +fprintf( stderr, "exit from constructor SvtPathOptions_Impl::SvtPathOptions_Impl()\n" ); } // class SvtPathOptions -------------------------------------------------- @@ -452,14 +462,19 @@ namespace { struct lclMutex : public rtl::Static< ::osl::Mutex, lclMutex > {}; } SvtPathOptions::SvtPathOptions() { +fprintf( stderr, "constructor SvtPathOptions::SvtPathOptions()\n" ); + // Global access, must be guarded (multithreading) ::osl::MutexGuard aGuard( lclMutex::get() ); pImpl = g_pOptions.lock(); if ( !pImpl ) { - pImpl = std::make_shared<SvtPathOptions_Impl>(); +fprintf( stderr, "( !pImpl ) @ SvtPathOptions::SvtPathOptions()\n" ); + pImpl = std::make_shared< SvtPathOptions_Impl >(); +fprintf( stderr, "( !pImpl ) @ SvtPathOptions::SvtPathOptions() ~ make shared okay\n" ); g_pOptions = pImpl; ItemHolder1::holdConfigItem(E_PATHOPTIONS); +fprintf( stderr, "( !pImpl ) @ SvtPathOptions::SvtPathOptions() ~ holdConfigItem okay\n" ); } } @@ -503,6 +518,8 @@ const OUString& SvtPathOptions::GetBitmapPath() const const OUString& SvtPathOptions::GetConfigPath() const { +fprintf( stderr, "const OUString& SvtPathOptions::GetConfigPath() const\n" ); + return pImpl->GetConfigPath(); } commit 43914b3f282f53ec0dfaf6cac8f02479b33a5d6d Author: Douglas Mencken <dougmenc...@gmail.com> Date: Mon Aug 29 14:55:50 2016 -0400 hey I want JDK 1.5 back and GCJ too revert with some changes 7fe8c0b852fa421fe52de99a7f59e45027139eed Remove gcj support from build system 1b8c61d5ca8e2a7ae7a0bcd189b7a87defecea03 Bump JDK buildtime requirement to 1.6 16c0807d75cfd9ecbca9c703ed0eadda80529aab configure: reject Apple JDK Change-Id: I13a36fa9bb500b74de9fca7f88225376a19697f5 diff --git a/config_host.mk.in b/config_host.mk.in index ea323a1..4ca0ddf 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -248,6 +248,7 @@ export HAVE_GCC_GGDB2=@HAVE_GCC_GGDB2@ export HAVE_GCC_OG=@HAVE_GCC_OG@ export HAVE_GCC_PRAGMA_OPERATOR=@HAVE_GCC_PRAGMA_OPERATOR@ export HAVE_GNUMAKE_FILE_FUNC=@HAVE_GNUMAKE_FILE_FUNC@ +export HAVE_JAVA6=@HAVE_JAVA6@ export HAVE_LD_BSYMBOLIC_FUNCTIONS=@HAVE_LD_BSYMBOLIC_FUNCTIONS@ export HAVE_LD_HASH_STYLE=@HAVE_LD_HASH_STYLE@ export HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION=@HAVE_NON_CONST_NPP_GETMIMEDESCRIPTION@ @@ -282,6 +283,7 @@ export INSTDIR_FOR_BUILD=@INSTDIR_FOR_BUILD@ export INSTROOT=@INSTROOT@ export INSTROOT_FOR_BUILD=@INSTROOT_FOR_BUILD@ export IWYU_PATH=@IWYU_PATH@ +export JAVACISGCJ=@JAVACISGCJ@ export JAVACOMPILER=@JAVACOMPILER@ export JAVADOC=@JAVADOC@ export JAVADOCISGJDOC=@JAVADOCISGJDOC@ diff --git a/configure.ac b/configure.ac index b10a167..4d4b5a1 100644 --- a/configure.ac +++ b/configure.ac @@ -6782,6 +6782,7 @@ if test "$ENABLE_JAVA" != ""; then fi fi +HAVE_JAVA6= HAVE_JAVA9= dnl =================================================================== dnl Checks for JDK. @@ -6799,7 +6800,11 @@ if test "$ENABLE_JAVA" != ""; then if test `$JAVAINTERPRETER -version 2>&1 | $GREP -c "Kaffe"` -gt 0; then AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac]) elif test `$JAVAINTERPRETER --version 2>&1 | $GREP -c "GNU libgcj"` -gt 0; then - AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac]) + JDK=gcj + AC_MSG_RESULT([checked (gcj)]) + _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[[^0-9]]*@@' -e 's@ .*@@' -e 's@,.*@@'` + _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` + elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "BEA"` -gt 0; then AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac]) elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "IBM"` -gt 0; then @@ -6809,8 +6814,11 @@ if test "$ENABLE_JAVA" != ""; then _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//` _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` - if test "$_jdk_ver" -lt 10600; then - AC_MSG_ERROR([IBM JDK is too old, you need at least 1.6]) + if test "$_jdk_ver" -lt 10500; then + AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5]) + fi + if test "$_jdk_ver" -ge 10600; then + HAVE_JAVA6=TRUE fi AC_MSG_RESULT([checked (IBM JDK $_jdk)]) @@ -6828,12 +6836,15 @@ you must use the "--with-jdk-home" configure option explicitly]) _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//` _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` - if test "$_jdk_ver" -lt 10600; then - AC_MSG_ERROR([JDK is too old, you need at least 1.6]) + if test "$_jdk_ver" -lt 10500; then + AC_MSG_ERROR([JDK is too old, you need at least 1.5]) fi if test "$_jdk_ver" -gt 10600; then JAVA_CLASSPATH_NOT_SET="1" fi + if test "$_jdk_ver" -ge 10600; then + HAVE_JAVA6=TRUE + fi if test "$_jdk_ver" -ge 10900; then HAVE_JAVA9=TRUE fi @@ -6850,13 +6861,15 @@ you must use the "--with-jdk-home" configure option explicitly]) JAVAFLAGS=-J-Xmx128M fi else - AC_MSG_ERROR([Java not found. You need at least jdk-1.6]) + AC_MSG_ERROR([Java not found. You need at least JDK 1.5 or GCJ]) fi else dnl Java disabled JAVA_HOME= export JAVA_HOME fi +AC_SUBST([HAVE_JAVA6]) +AC_SUBST([HAVE_JAVA9]) dnl =================================================================== dnl Set target Java bytecode version @@ -6875,7 +6888,11 @@ dnl =================================================================== dnl Checks for javac dnl =================================================================== if test "$ENABLE_JAVA" != ""; then - javacompiler="javac" + if test "$JDK" = "gcj"; then + javacompiler=`echo $with_java | $SED -e "s/gij/gcj/g" | $SED -e "s/java/javac/g"` + else + javacompiler="javac" + fi if test -z "$with_jdk_home"; then AC_PATH_PROG(JAVACOMPILER, $javacompiler) else @@ -6894,7 +6911,25 @@ if test "$ENABLE_JAVA" != ""; then fi JAVACOMPILER=`win_short_path_for_make "$JAVACOMPILER"` fi + + if test `$JAVACOMPILER -version 2>&1 | $GREP -c "Eclipse Java Compiler"` -gt 0; then + AC_MSG_CHECKING([re-checking JDK]) + JDK=gcj + AC_MSG_RESULT([checked (ecj)]) + _gij_longver="40200" + fi +fi + +JAVACISGCJ="" +dnl =================================================================== +dnl Checks that javac is gcj +dnl =================================================================== +if test "$ENABLE_JAVA" != ""; then + if test `$JAVACOMPILER --version 2>&1 | $GREP -c "GCC"` -gt 0; then + JAVACISGCJ="yes" + fi fi +AC_SUBST(JAVACISGCJ) dnl =================================================================== dnl Checks for javadoc @@ -7011,28 +7046,24 @@ _ACEOF fi fi - # now check if $JAVA_HOME is really valid - if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then - case "${JAVA_HOME}" in - /Library/Java/JavaVirtualMachines/*) - ;; - *) - AC_MSG_ERROR([JDK in $JAVA_HOME cannot be used in CppUnit tests - install Oracle JDK]) - ;; - esac - if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then + dnl second sanity check JAVA_HOME if possible + if test "$JDK" != "gcj" -o "$_gij_longver" -ge "40200"; then + # now check if $JAVA_HOME is really okay + if test "$_os" = "Darwin" -o "$OS_FOR_BUILD" = MACOSX; then + if test ! -f "$JAVA_HOME/lib/jvm.cfg" -a "x$with_jdk_home" = "x"; then + JAVA_HOME_OK="NO" + fi + elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then JAVA_HOME_OK="NO" fi - elif test ! -d "$JAVA_HOME/jre" -a "x$with_jdk_home" = "x"; then - JAVA_HOME_OK="NO" - fi - if test "$JAVA_HOME_OK" = "NO"; then - AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script]) - AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed]) - AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly]) - add_warning "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" - add_warning "attempted to find JAVA_HOME automatically, but apparently it failed" - add_warning "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" + if test "$JAVA_HOME_OK" = "NO"; then + AC_MSG_WARN([JAVA_HOME was not explicitly informed with --with-jdk-home]) + AC_MSG_WARN([attempted to find JAVA_HOME automatically, but apparently it failed]) + AC_MSG_WARN([in case JAVA_HOME is incorrectly set, some projects with not be built correctly]) + add_warning "JAVA_HOME was not explicitly informed with --with-jdk-home" + add_warning "attempted to find JAVA_HOME automatically, but apparently it failed" + add_warning "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" + fi fi PathFormat "$JAVA_HOME" JAVA_HOME="$formatted_path" @@ -11795,7 +11826,12 @@ EOF </project> EOF - AC_TRY_COMMAND("$ANT" -buildfile conftest.xml 1>&2) + oldJAVA_HOME=$JAVA_HOME + if test "$JAVACISGCJ" = "yes"; then + JAVA_HOME=; export JAVA_HOME + ant_gcj="-Dbuild.compiler=gcj" + fi + AC_TRY_COMMAND("$ANT" $ant_gcj -buildfile conftest.xml 1>&2) if test $? = 0 -a -f ./conftest.class; then AC_MSG_RESULT([Ant works]) if test -z "$WITH_ANT_HOME"; then @@ -11812,6 +11848,7 @@ EOF cat conftest.xml >&5 AC_MSG_ERROR([Ant does not work - Some Java projects will not build!]) fi + JAVA_HOME=$oldJAVA_HOME rm -f conftest* core core.* *.core fi if test -z "$ANT_HOME"; then @@ -12707,7 +12744,7 @@ else case "$host_os" in aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) - if test "$ENABLE_JAVA" != ""; then + if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then pathmunge "$JAVA_HOME/bin" "after" fi ;; @@ -12746,7 +12783,7 @@ else pathmunge "$COMPATH/bin" "before" pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before" fi - if test "$ENABLE_JAVA" != ""; then + if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then if test -d "$JAVA_HOME/jre/bin/client"; then pathmunge "$JAVA_HOME/jre/bin/client" "before" fi @@ -12759,7 +12796,7 @@ else solaris*) pathmunge "/usr/css/bin" "before" - if test "$ENABLE_JAVA" != ""; then + if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then pathmunge "$JAVA_HOME/bin" "after" fi ;; diff --git a/external/apache-commons/ExternalProject_apache_commons_logging.mk b/external/apache-commons/ExternalProject_apache_commons_logging.mk index c34b067..9d329aa 100644 --- a/external/apache-commons/ExternalProject_apache_commons_logging.mk +++ b/external/apache-commons/ExternalProject_apache_commons_logging.mk @@ -20,8 +20,10 @@ $(call gb_ExternalProject_get_state_target,apache_commons_logging,build) : -q \ -f build.xml \ -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ - -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ - -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)),\ + -Dbuild.compiler=gcj \ + ) \ $(if $(debug),-Dcompile.debug="true",-Dcompile.debug="false") \ compile build-jar \ ) diff --git a/external/beanshell/ExternalProject_beanshell.mk b/external/beanshell/ExternalProject_beanshell.mk index eb76ad1..fd7846b 100644 --- a/external/beanshell/ExternalProject_beanshell.mk +++ b/external/beanshell/ExternalProject_beanshell.mk @@ -21,6 +21,9 @@ $(call gb_ExternalProject_get_state_target,beanshell,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)),\ + -Dbuild.compiler=gcj \ + ) \ $(if $(debug),-Dbuild.debug="on") \ ) diff --git a/external/hsqldb/ExternalProject_hsqldb.mk b/external/hsqldb/ExternalProject_hsqldb.mk index 07f93ad..cd8d4d3 100644 --- a/external/hsqldb/ExternalProject_hsqldb.mk +++ b/external/hsqldb/ExternalProject_hsqldb.mk @@ -21,6 +21,9 @@ $(call gb_ExternalProject_get_state_target,hsqldb,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ $(if $(debug),-Dbuild.debug="on") \ jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk b/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk index 8be1e8a..7b8a567 100644 --- a/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk +++ b/external/jfreereport/ExternalProject_jfreereport_flow_engine.mk @@ -23,6 +23,7 @@ $(call gb_ExternalProject_get_state_target,jfreereport_flow_engine,build) : -q \ -f build.xml \ -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ + -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \ $(if $(SYSTEM_APACHE_COMMONS),\ -Dcommons-logging.jar=$(COMMONS_LOGGING_JAR), \ -Dcommons-logging.jar="$(call gb_UnpackedTarball_get_dir,apache_commons_logging)/target/commons-logging-$(COMMONS_LOGGING_VERSION).jar") \ @@ -32,8 +33,9 @@ $(call gb_ExternalProject_get_state_target,jfreereport_flow_engine,build) : -Dlibloader.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libloader)/dist/libloader-$(LIBLOADER_VERSION).jar \ -Dlibserializer.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libserializer)/dist/libserializer-$(LIBBASE_VERSION).jar \ -Dlibxml.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libxml)/dist/libxml-$(LIBXML_VERSION).jar \ - -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ - -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_flute.mk b/external/jfreereport/ExternalProject_jfreereport_flute.mk index c8dfc4c..a78ca65 100644 --- a/external/jfreereport/ExternalProject_jfreereport_flute.mk +++ b/external/jfreereport/ExternalProject_jfreereport_flute.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_flute,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)),\ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(FLUTE_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_libbase.mk b/external/jfreereport/ExternalProject_jfreereport_libbase.mk index 77bece5..2c0a079 100644 --- a/external/jfreereport/ExternalProject_jfreereport_libbase.mk +++ b/external/jfreereport/ExternalProject_jfreereport_libbase.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libbase,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)),\ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBBASE_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_libfonts.mk b/external/jfreereport/ExternalProject_jfreereport_libfonts.mk index c71db70..5507732 100644 --- a/external/jfreereport/ExternalProject_jfreereport_libfonts.mk +++ b/external/jfreereport/ExternalProject_jfreereport_libfonts.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libfonts,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)),\ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBFONTS_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_libformula.mk b/external/jfreereport/ExternalProject_jfreereport_libformula.mk index 7e985c8..e706d67 100644 --- a/external/jfreereport/ExternalProject_jfreereport_libformula.mk +++ b/external/jfreereport/ExternalProject_jfreereport_libformula.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libformula,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)),\ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBFORMULA_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_liblayout.mk b/external/jfreereport/ExternalProject_jfreereport_liblayout.mk index 9a72002..bacd22a 100644 --- a/external/jfreereport/ExternalProject_jfreereport_liblayout.mk +++ b/external/jfreereport/ExternalProject_jfreereport_liblayout.mk @@ -35,6 +35,7 @@ $(call gb_ExternalProject_get_state_target,jfreereport_liblayout,build) : -q \ -f build.xml \ -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ + -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \ $(if $(SYSTEM_APACHE_COMMONS),\ -Dcommons-logging.jar=$(COMMONS_LOGGING_JAR), \ -Dcommons-logging.jar="$(call gb_UnpackedTarball_get_dir,apache_commons_logging)/target/commons-logging-$(COMMONS_LOGGING_VERSION).jar") \ @@ -47,10 +48,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_liblayout,build) : -Dlibserializer.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libserializer)/dist/libserializer-$(LIBBASE_VERSION).jar \ -Dlibxml.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_libxml)/dist/libxml-$(LIBXML_VERSION).jar \ -Dsac.jar=$(call gb_UnpackedTarball_get_dir,jfreereport_sac)/build/lib/sac.jar \ - -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ - -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_libloader.mk b/external/jfreereport/ExternalProject_jfreereport_libloader.mk index 275ef12..5eb9417 100644 --- a/external/jfreereport/ExternalProject_jfreereport_libloader.mk +++ b/external/jfreereport/ExternalProject_jfreereport_libloader.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libloader,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBLOADER_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_librepository.mk b/external/jfreereport/ExternalProject_jfreereport_librepository.mk index 8e953c3..2814457 100644 --- a/external/jfreereport/ExternalProject_jfreereport_librepository.mk +++ b/external/jfreereport/ExternalProject_jfreereport_librepository.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_librepository,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBREPOSITORY_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_libserializer.mk b/external/jfreereport/ExternalProject_jfreereport_libserializer.mk index 0e7ff25..7e8761d 100644 --- a/external/jfreereport/ExternalProject_jfreereport_libserializer.mk +++ b/external/jfreereport/ExternalProject_jfreereport_libserializer.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libserializer,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)) \ + , -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBSERIALIZER_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_libxml.mk b/external/jfreereport/ExternalProject_jfreereport_libxml.mk index bfe65a3..c6c24f6 100644 --- a/external/jfreereport/ExternalProject_jfreereport_libxml.mk +++ b/external/jfreereport/ExternalProject_jfreereport_libxml.mk @@ -24,8 +24,11 @@ $(call gb_ExternalProject_get_state_target,jfreereport_libxml,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ - -Dbuild.id="10682" \ + -Dbuild.id="12398" \ -Dproject.revision="$(LIBXML_VERSION)" \ $(if $(debug),-Dbuild.debug="on") jar \ ) diff --git a/external/jfreereport/ExternalProject_jfreereport_sac.mk b/external/jfreereport/ExternalProject_jfreereport_sac.mk index ff17db9..99d9f25 100644 --- a/external/jfreereport/ExternalProject_jfreereport_sac.mk +++ b/external/jfreereport/ExternalProject_jfreereport_sac.mk @@ -21,6 +21,9 @@ $(call gb_ExternalProject_get_state_target,jfreereport_sac,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ -Dantcontrib.available="true" \ $(if $(debug),-Dbuild.debug="on") all \ ) diff --git a/external/languagetool/ExternalProject_languagetool.mk b/external/languagetool/ExternalProject_languagetool.mk index ebefbf0..5496017 100644 --- a/external/languagetool/ExternalProject_languagetool.mk +++ b/external/languagetool/ExternalProject_languagetool.mk @@ -28,6 +28,9 @@ $(call gb_ExternalProject_get_state_target,languagetool,build) : -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ)), \ + -Dbuild.compiler=gcj \ + ) \ $(if $(debug),-Dbuild.debug="on") \ -Dext.ooo.juh.lib="$(call gb_Jar_get_target,juh)" \ -Dext.ooo.jurt.lib="$(call gb_Jar_get_target,jurt)" \ diff --git a/external/rhino/ExternalProject_rhino.mk b/external/rhino/ExternalProject_rhino.mk index 6f0719d..3a62972 100644 --- a/external/rhino/ExternalProject_rhino.mk +++ b/external/rhino/ExternalProject_rhino.mk @@ -19,9 +19,11 @@ $(call gb_ExternalProject_get_state_target,rhino,build) : -q \ -f build.xml \ -Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)" \ + -Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER) \ -DTARFILE_LOCATION="$(if $(findstring -cygwin,$(BUILD_PLATFORM)),$(shell cygpath -m $(TARFILE_LOCATION)),$(TARFILE_LOCATION))" \ - -Dant.build.javac.source=$(JAVA_SOURCE_VER) \ - -Dant.build.javac.target=$(JAVA_TARGET_VER) \ + $(if $(filter yes,$(JAVACISGCJ))\ + ,-Dbuild.compiler=gcj \ + ) \ $(if $(debug),-Dbuild.debug="on") \ jar \ ) commit 9ae157307b793e331cdc591bc2ed48d03ac9ee69 Author: Douglas Mencken <dougmenc...@gmail.com> Date: Tue Feb 2 22:08:25 2016 -0500 try to fix build of external:firebird Change-ID: Ia07a2e34208763228bd78f5b6cbda78c78015d4b diff --git a/external/firebird/InputDevices-darwin.patch b/external/firebird/InputDevices-darwin.patch new file mode 100644 index 0000000..b5adbed --- /dev/null +++ b/external/firebird/InputDevices-darwin.patch @@ -0,0 +1,15 @@ +--- src/isql/InputDevices.cpp ++++ src/isql/InputDevices.cpp +@@ -22,11 +22,10 @@ + */ + + #include "firebird.h" ++ + #if defined(DARWIN) && !defined(IOS) + #if defined(i386) || defined(__x86_64__) + #include <architecture/i386/io.h> +-#else +-#include <io.h> + #endif + #endif + diff --git a/external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch b/external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch new file mode 100644 index 0000000..02e7363 --- /dev/null +++ b/external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch @@ -0,0 +1,46 @@ +From: asfernandes <asfernan...@users.sourceforge.net> +Date: Sat, 5 Mar 2016 03:39:36 +0000 +Subject: Make the generated code compatible with gcc 6 in C++-14 mode. + (cherry picked from commit 3618aa2171674babf79ef935aa049c40a3db1321) +Patch-mainline: +Git-commit: 3618aa2171674babf79ef935aa049c40a3db1321 +References: bsc#964466 CORE-5099 +â +--- src/gpre/c_cxx.cpp ++++ src/gpre/c_cxx.cpp +@@ -2004,7 +2004,7 @@ + int ident = CMP_next_ident(); + init->nod_arg[2] = (gpre_nod*)(IPTR)ident; + +- printa(0, "static %schar\n *isc_%da, *isc_%db;", CONST_STR, ident, ident); ++ printa(0, "static %sunsigned char\n *isc_%da, *isc_%db;", CONST_STR, ident, ident); + printa(0, "static short\n isc_%dl;", ident); + + const gpre_nod* list = init->nod_arg[1]; +@@ -2820,7 +2820,7 @@ + printa(0, "static %sshort\n isc_%dl = %d;", + (request->req_flags & REQ_extend_dpb) ? "" : CONST_STR, + request->req_ident, request->req_length); +- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, request->req_ident); ++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, request->req_ident); + + const TEXT* string_type = "blr"; + if (gpreGlob.sw_raw) +@@ -2891,7 +2891,7 @@ + { + printa(0, "static %sshort\n isc_%dl = %d;", CONST_STR, + reference->ref_sdl_ident, reference->ref_sdl_length); +- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, reference->ref_sdl_ident); ++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, reference->ref_sdl_ident); + if (gpreGlob.sw_raw) + gen_raw(reference->ref_sdl, reference->ref_sdl_length); + else if (PRETTY_print_sdl(reference->ref_sdl, gen_blr, 0, 0)) +@@ -2909,7 +2909,7 @@ + { + if (blob->blb_bpb_length) + { +- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, blob->blb_bpb_ident); ++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, blob->blb_bpb_ident); + gen_raw(blob->blb_bpb, blob->blb_bpb_length); + printa(INDENT, "};\n"); + } diff --git a/external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch b/external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch new file mode 100644 index 0000000..6f171db --- /dev/null +++ b/external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch @@ -0,0 +1,27 @@ +From: Michal Kubecek <mkube...@suse.cz> +Date: Mon, 25 Apr 2016 08:55:36 +0200 +Subject: Provide sized global delete operators when compiled in C++14 mode +Patch-mainline: submitted +Git-commit: 038f9fbf559e56032e4cb49eb7ce4c3ead23fda9 +References: bsc#964466 CORE-5099 +â +--- src/common/classes/alloc.h ++++ src/common/classes/alloc.h +@@ -331,6 +331,17 @@ + MemoryPool::globalFree(mem); + } + ++#if __cplusplus >= 201402L ++inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) throw() ++{ ++ MemoryPool::globalFree(mem); ++} ++inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) throw() ++{ ++ MemoryPool::globalFree(mem); ++} ++#endif ++ + #ifdef DEBUG_GDS_ALLOC + + #ifdef __clang__ diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk index b65d041..300348c 100644 --- a/external/firebird/UnpackedTarball_firebird.mk +++ b/external/firebird/UnpackedTarball_firebird.mk @@ -14,14 +14,18 @@ $(eval $(call gb_UnpackedTarball_set_tarball,firebird,$(FIREBIRD_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,firebird,0)) $(eval $(call gb_UnpackedTarball_add_patches,firebird,\ + external/firebird/Provide-sized-global-delete-operators-when-compiled-.patch \ + external/firebird/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch \ external/firebird/firebird.disable-ib-util-not-found.patch.1 \ external/firebird/firebird-Engine12.patch \ external/firebird/firebird-rpath.patch.0 \ external/firebird/firebird-cloop-compiler.patch.1 \ - external/firebird/firebird-gcc6.patch.1 \ external/firebird/wnt-dbgutil.patch \ external/firebird/debug-gfix-failure.patch \ external/firebird/libc++.patch \ + external/firebird/os_utils-O_CLOEXEC.patch \ + external/firebird/remote-inet-SOL_TCP.patch \ + external/firebird/my-own-version-of-strnlen.patch \ )) ifeq ($(OS)-$(COM),WNT-MSC) @@ -32,10 +36,20 @@ endif ifeq ($(OS),MACOSX) $(eval $(call gb_UnpackedTarball_add_patches,firebird,\ - external/firebird/firebird-configure-x86-64-macosx.patch.1 \ external/firebird/firebird-macosx.patch.1 \ - external/firebird/macosx-elcapitan-dyld.patch \ + external/firebird/firebird-macosx-print-dyldlibpath.patch \ + external/firebird/InputDevices-darwin.patch \ +)) +ifeq ($(CPUNAME),POWERPC) +$(eval $(call gb_UnpackedTarball_add_patches,firebird,\ + external/firebird/lSystemStubs-darwin.patch \ + external/firebird/prefix.darwin_powerpc.patch \ + external/firebird/semaphore.h-darwin.patch \ +)) +else +$(eval $(call gb_UnpackedTarball_add_patches,firebird,\ + external/firebird/firebird-configure-x86-64-macosx.patch.1 \ )) endif - +endif # vim: set noet sw=4 ts=4: diff --git a/external/firebird/firebird-gcc6.patch.1 b/external/firebird/firebird-gcc6.patch.1 deleted file mode 100644 index e136141..0000000 --- a/external/firebird/firebird-gcc6.patch.1 +++ /dev/null @@ -1,19 +0,0 @@ -commit 3618aa2171674babf79ef935aa049c40a3db1321 -Author: asfernandes <asfernan...@users.sourceforge.net> -Date: Sat Mar 5 03:39:36 2016 +0000 - - Make the generated code compatible with gcc 6 in C++-14 mode. - -diff --git a/src/gpre/c_cxx.cpp b/src/gpre/c_cxx.cpp -index 2af96c6..2dcffd6 100644 ---- a/src/gpre/c_cxx.cpp -+++ b/src/gpre/c_cxx.cpp -@@ -2820,7 +2820,7 @@ static void gen_request(const gpre_req* request) - printa(0, "static %sshort\n isc_%dl = %d;", - (request->req_flags & REQ_extend_dpb) ? "" : CONST_STR, - request->req_ident, request->req_length); -- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, request->req_ident); -+ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, request->req_ident); - - const TEXT* string_type = "blr"; - if (gpreGlob.sw_raw) diff --git a/external/firebird/macosx-elcapitan-dyld.patch b/external/firebird/firebird-macosx-print-dyldlibpath.patch similarity index 100% rename from external/firebird/macosx-elcapitan-dyld.patch rename to external/firebird/firebird-macosx-print-dyldlibpath.patch diff --git a/external/firebird/lSystemStubs-darwin.patch b/external/firebird/lSystemStubs-darwin.patch new file mode 100644 index 0000000..3523d4f --- /dev/null +++ b/external/firebird/lSystemStubs-darwin.patch @@ -0,0 +1,44 @@ +--- configure ++++ configure +@@ -2925,7 +2925,7 @@ + + $as_echo "#define DARWIN 1" >>confdefs.h + +- LIBS="$LIBS -framework CoreFoundation" ++ LIBS="$LIBS -lSystemStubs -framework CoreFoundation" + EDITLINE_FLG=Y + SHRLIB_EXT=dylib + EXPORT_SYMBOLS_STYLE=darwin +--- configure.ac ++++ configure.ac +@@ -117,7 +117,7 @@ + PLATFORM=DARWIN + INSTALL_PREFIX=darwin + AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN]) +- XE_APPEND(-framework CoreFoundation,LIBS) ++ XE_APPEND(-lSystemStubs -framework CoreFoundation,LIBS) + EDITLINE_FLG=Y + SHRLIB_EXT=dylib + dnl CPU_TYPE=ppc64 +--- extern/btyacc/Makefile ++++ extern/btyacc/Makefile +@@ -17,7 +17,7 @@ + # No LDFLAGS + #LDFLAGS= + +-LIBS= ++LIBS = -lSystemStubs + + # For GNU environment, gmake will set $CC to gcc + # Other environments will have different values, maybe no GNU installed! +--- extern/cloop/Makefile ++++ extern/cloop/Makefile +@@ -4,7 +4,7 @@ + + TARGET := release + +-LD := $(CXX) ++LD := $(CXX) -lSystemStubs + + SRC_DIR := src + BUILD_DIR := build diff --git a/external/firebird/my-own-version-of-strnlen.patch b/external/firebird/my-own-version-of-strnlen.patch new file mode 100644 index 0000000..c9b530a --- /dev/null +++ b/external/firebird/my-own-version-of-strnlen.patch @@ -0,0 +1,51 @@ +--- src/auth/SecureRemotePassword/Message.h ++++ src/auth/SecureRemotePassword/Message.h +@@ -19,6 +19,14 @@ + + #endif // INTERNAL_FIREBIRD + ++/* My implementation of strnlen */ ++static size_t my_strnlen( const char *s, size_t maxlen ) ++{ ++ const char *end = static_cast< const char * >( memchr( s, 0, maxlen ) ); ++ return end ? static_cast< size_t >( end - s ) : maxlen; ++} ++ ++ + #ifdef INTERNAL_FIREBIRD + // This class helps to work with metadata iface + class Meta : public Firebird::RefPtr<Firebird::IMessageMetadata> +@@ -347,7 +355,7 @@ + const char* operator= (const char* newVal) + { + msg->getBuffer(); +- setStrValue(newVal, static_cast<unsigned>(strnlen(newVal, size))); ++ setStrValue(newVal, static_cast< unsigned >( my_strnlen( newVal, size ) )); + null = FB_FALSE; + return newVal; + } +--- src/isql/isql.epp ++++ src/isql/isql.epp +@@ -89,6 +89,13 @@ + #include "editline.h" + #endif + ++/* My implementation of strnlen */ ... etc. - the rest is truncated
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits