Age | Commit message (Collapse) | Author |
|
which results in lots of nice string_view improvements picked up by the
plugins
Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9004aaef7b2d526ad99b316b78733671a785c847
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124328
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: Ifd8f58771ea6f9212a0dca7d4550c86ebecd9333
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111814
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
At least on macOS 11.1 on ARM64 (though not with an otherwise somewhat similar
build on macOS 10.15.7 on x86-64), CppunitTest_smoketest deadlocked the soffice
process for me, first while processing a remote call from cppunittester at
> thread #8, name = 'cppu_threadpool::ORequestThread'
> frame #0: 0x0000000183c43488 libsystem_kernel.dylib`__psynch_cvwait + 8
> frame #1: 0x0000000183c79568 libsystem_pthread.dylib`_pthread_cond_wait + 1192
> frame #2: 0x0000000184aeb0f0 Foundation`-[NSOperation waitUntilFinished] + 584
> frame #3: 0x0000000183d370e0 CoreFoundation`_CFXNotificationPost + 800
> frame #4: 0x0000000184aa0650 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 64
> frame #5: 0x000000018653d3bc AppKit`-[NSMenu insertItem:atIndex:] + 624
> frame #6: 0x000000018653e66c AppKit`-[NSMenu insertItemWithTitle:action:keyEquivalent:atIndex:] + 144
> frame #7: 0x0000000115d16a28 libvclplug_osxlo.dylib`initAppMenu() at vcl/osx/salmenu.cxx:126:16
> frame #8: 0x0000000115d1691c libvclplug_osxlo.dylib`AquaSalInstance::CreateMenu(this=0x000000013febbd10, bMenuBar=false, pVCLMenu=0x0000000299db67a0) at vcl/osx/salmenu.cxx:207:5
> frame #9: 0x000000010b1b8620 libvcllo.dylib`PopupMenu::PopupMenu(this=0x0000000299db67a0) at vcl/source/window/menu.cxx:2718:45
[...]
and later while processing a remote call from cppunittester at
> thread #8, name = 'cppu_threadpool::ORequestThread'
> frame #0: 0x0000000183c43488 libsystem_kernel.dylib`__psynch_cvwait + 8
> frame #1: 0x0000000183c79568 libsystem_pthread.dylib`_pthread_cond_wait + 1192
> frame #2: 0x0000000184aeb0f0 Foundation`-[NSOperation waitUntilFinished] + 584
> frame #3: 0x0000000183d370e0 CoreFoundation`_CFXNotificationPost + 800
> frame #4: 0x0000000184aa0650 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 64
> frame #5: 0x000000018653d3bc AppKit`-[NSMenu insertItem:atIndex:] + 624
> frame #6: 0x0000000119858590 libvclplug_osxlo.dylib`AquaSalMenu::InsertItem(this=0x000000028be8cc20, pSalMenuItem=0x000000028be67420, nPos=65535) at vcl/osx/salmenu.cxx:489:9
> frame #7: 0x000000010aa8a424 libvcllo.dylib`Menu::NbcInsertItem(this=0x000000028be78f90, nId=2, nBits=NONE, rStr=0x000000028070ef70, pMenu=0x000000028be78f90, nPos=65535, rIdent=0x000000028070ef10) at vcl/source/window/menu.cxx:416:27
[...]
and the main thread in both cases in the main loop at
> thread #1, queue = 'com.apple.main-thread'
> frame #0: 0x0000000183c43488 libsystem_kernel.dylib`__psynch_cvwait + 8
> frame #1: 0x0000000183c79568 libsystem_pthread.dylib`_pthread_cond_wait + 1192
> frame #2: 0x00000001013b0354 libc++.1.0.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) [inlined] std::__1::__libcpp_condvar_wait(__cv=<unavailable>, __m=<unavailable>) at ~/llvm/build/include/c++/v1/__threading_support:436:10 [opt]
> frame #3: 0x00000001013b0350 libc++.1.0.dylib`std::__1::condition_variable::wait(this=<unavailable>, lk=<unavailable>) at ~/github.com/llvm/llvm-project/libcxx/src/condition_variable.cpp:44 [opt]
> frame #4: 0x0000000115d0a8fc libvclplug_osxlo.dylib`void std::__1::condition_variable::wait<SalYieldMutex::doAcquire(unsigned int)::$_0>(this=0x000000013fec8f50, __lk=0x000000016f255bf8, __pred=(anonymous class) @ 0x000000016f255b80)::$_0) at ~/llvm/inst/include/c++/v1/__mutex_base:406:9
> frame #5: 0x0000000115d0a71c libvclplug_osxlo.dylib`SalYieldMutex::doAcquire(this=0x000000013fec8ef0, nLockCount=1) at vcl/osx/salinst.cxx:215:36
> frame #6: 0x000000010b15ec90 libvcllo.dylib`comphelper::SolarMutex::acquire(this=0x000000013fec8ef0, nLockCount=1) at include/comphelper/solarmutex.hxx:86:5
> frame #7: 0x000000010b8215c4 libvcllo.dylib`SalInstance::AcquireYieldMutex(this=0x000000013febbd10, nCount=1) at vcl/source/app/salvtables.cxx:121:73
> frame #8: 0x000000010b8c1d78 libvcllo.dylib`Application::AcquireSolarMutex(nCount=1) at vcl/source/app/svapp.cxx:562:25
> frame #9: 0x0000000115d10000 libvclplug_osxlo.dylib`SolarMutexReleaser::~SolarMutexReleaser(this=0x000000016f255e28) at include/vcl/svapp.hxx:1421:29
> frame #10: 0x0000000115d0c650 libvclplug_osxlo.dylib`SolarMutexReleaser::~SolarMutexReleaser(this=0x000000016f255e28) at include/vcl/svapp.hxx:1421:27
> frame #11: 0x0000000115d0c2d8 libvclplug_osxlo.dylib`AquaSalInstance::DoYield(this=0x000000013febbd10, bWait=true, bHandleAllCurrentEvents=false) at vcl/osx/salinst.cxx:570:9
> frame #12: 0x000000010b8c1558 libvcllo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at core/vcl/source/app/svapp.cxx:463:48
> frame #13: 0x000000010b8c1298 libvcllo.dylib`Application::Yield() at vcl/source/app/svapp.cxx:528:5
> frame #14: 0x000000010b8c120c libvcllo.dylib`Application::Execute() at vcl/source/app/svapp.cxx:442:9
[...]
Change-Id: I5146b7bdeb6b1b9b9ad4f4b91bbe52de0b76f308
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109648
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I63892376154893a97e6b205b93c1682f66fd3064
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105756
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I404a8364a4c7f8d48533fb3c7757a5b7798de9d8
Reviewed-on: https://gerrit.libreoffice.org/73588
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This restores the nested NSApplicationMain and default run loop
usage. Without it the Java AWT integration will start its own
event loop, effectively blocking any non-system event processing.
Reproducible via "Tools - Macros - Organize Macros - BeanShell...
- LibreOffice Macros - HelloWorld - helloworld.bsh - Edit".
The blocking can be prevented by overriding NSApplication::run and
running our own event loop using Application::Execute. But this
still doesn't show the Java AWT editor window and I couldn't find
any information how to fix this.
Since OSX now is a VCL plugin, this can't restore the old hook
mechanism, but instead adds a new function to SalInstance.
SalInstance initialization happens at InitVCL() start just a
little bit later in the call stack.
Somehow NSApplicationMain manages to run the Java VM in an extra
thread, so it doesn't block the main loop. Probably this could
also be handled by LO starting the JVM as a thread.
Further information for an implementation eventually can be found
in the "Technical Note TN2147" "JNI Development on Mac OS X."
Change-Id: I04a0c2bf7949571f1b678ada9ab3592e0fe30c1f
Regression-from: 925e2edb6f3f8fffcff9eddb31ed18bc77e2a690
Reviewed-on: https://gerrit.libreoffice.org/65836
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I98f49765c6b74808dcbd692e0f375dd2848fcfd4
Reviewed-on: https://gerrit.libreoffice.org/65614
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: If18c80fc64e55d797953e24e40e5d5e62bd9c625
Reviewed-on: https://gerrit.libreoffice.org/63453
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
These are all the cases where the warning suggests a direct replacement.
This is a companion to 2f2c9df8e270ede0fd71b146380c3883b75d8f0d
"-Werror,-Wdeprecated-declarations (--with-macosx-version-min-required=10.14)"
which covered all the other cases (via SAL_WNODEPRECATED_PUSH/POP) that offered
no direct replacement.
Change-Id: If22a3f8cec1ff22fd1ac4b9d2f2bffde50e11e86
Reviewed-on: https://gerrit.libreoffice.org/61633
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
These are all the cases where the warning doesn't suggest a direct replacement,
so the existing code is just wrapped in SAL_WNODEPRECATED_PUSH/POP for now. A
companion commit will cover cases where there is a direct replacement that can
probably be applied (even backwards-compatibly with our current baseline,
hopefully).
Change-Id: I899537cb36dd69e08b5442ad4af7ce69ce2ddaec
Reviewed-on: https://gerrit.libreoffice.org/61354
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Allows to drop all the special SVMain handling introduced for
MacOSX. This way LO can also be build via SSH, because gengal
won't abort / fail because of the missing window system.
Currently this just implements the global menu. I don't know
what else is missing. Eventually we want to reimplement the
Cocoa debug option forwarding (NSAccessibilityDebugLogLevel).
Change-Id: I359c46fd03e2436a8a37fd211e59e4e305f8aba0
Reviewed-on: https://gerrit.libreoffice.org/60571
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes.
This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
to directory vcl
Change-Id: I205fe0f4e80a66cd9c3b19f7e9716411da1d1cf5
Reviewed-on: https://gerrit.libreoffice.org/58221
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
and drop DestroyMenu, all the implementations just delete the object
Change-Id: I673997ea1a9c5216b100cafdc70a8f697732769b
Reviewed-on: https://gerrit.libreoffice.org/55501
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and drop DestroyMenuItem, all the implementations were just deleting the
pointer
Change-Id: I058817b963988b1e399279f61f45716a2cdba023
Reviewed-on: https://gerrit.libreoffice.org/55500
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and fix the fallout
Change-Id: I15bc5d626f4d157cbc69a87392078b41e621d14e
Reviewed-on: https://gerrit.libreoffice.org/54882
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Using the system ("native") menubar works fine since a long time
surely. No reason to keep a fallback possibility.
Change-Id: I0d9ed86c28b0d832c8123b18980740dbf895ec1c
Reviewed-on: https://gerrit.libreoffice.org/54775
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
...avoiding loplugin:salunicodeliteral and loplugin:stringconstant
Change-Id: I560682ac87b24f47fc16a6ef17232c7fbc8c9099
|
|
Change-Id: I5ee724ef4b24f880e8bbc3ce0147331818b4f479
Reviewed-on: https://gerrit.libreoffice.org/51193
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after
cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some
more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More
loplugin:cstylecast"
Change-Id: Iff4877e8a42804c952c48c13332caf0a83c92870
Reviewed-on: https://gerrit.libreoffice.org/48216
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I4382a45dcffb32c7c001ee722ac1deccb2b01c2d
|
|
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
results in inserting the english original so something can be found, now the
standard fallback of using the english original from the source key is used, so
partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
com::sun::star::resource::OfficeResourceLoader
com::sun::star::resource::XResourceBundleLoader
com::sun::star::resource::XResourceBundle
when translating strings via uno apis
com.sun.star.resource.StringResourceWithLocation
can continue to be used
Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
|
|
Change-Id: I4a982da10ad76f8ae05355cec9629b906c95afdb
|
|
Mostly generated using
make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle"
Except some modules have their own foo::tools namespace, so there have
to use ::tools::Rectangle. This commit just moves the class from the
global namespace, it does not update pre/postwin.h yet.
Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2
Reviewed-on: https://gerrit.libreoffice.org/35923
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
Add mapping for:
KEY_SEMICOLON
KEY_BACKSPACE
KEY_PAGEUP
KEY_PAGEDOWN
KEY_UP
KEY_DOWN
KEY_RETURN
KEY_BRACKETLEFT
KEY_BRACKETRIGHT
Retrieved from AquaSalFrame::GetKeyName
I would have preferred to use this function and remove custom mapping to avoid dup but mapping is a bit different
eg: in AquaSalFrame::GetKeyName KEY_A to KEY_Z uses sal_Unicode( 'A' + (i - KEY_A) )
In SetAccelerator, we use sal_Unicode( 'a' + (i - KEY_A) )
and when using GetKeyName, LO segfaults.
Change-Id: I3808cdcd1c0566e768a98a211bc1f41ff012a32f
Reviewed-on: https://gerrit.libreoffice.org/30909
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
...for now
Change-Id: I64a0a8f6a006d75b6f82d7aae570aef414984a78
|
|
Change-Id: Id53e5c704759d831bedd42ca9a8cd9f393ecdd0c
Reviewed-on: https://gerrit.libreoffice.org/29492
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and replace it with OUString/OString::replaceAll
Change-Id: I37b1c3b51251dfd9d749d6f1060c75b3a93d7f1a
Reviewed-on: https://gerrit.libreoffice.org/26850
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
..."tdf#97527 - vcl: reference-count Menu"
Change-Id: I47457205ae99025d2ca13965dcf2fac79962124a
|
|
Change-Id: I732fb1a789f90ca7a7f393cc41a6afe84fecf3d3
Reviewed-on: https://gerrit.libreoffice.org/26200
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ie65951d5fd1e155e3d3b36d4725792fb95fb9a52
Reviewed-on: https://gerrit.libreoffice.org/25608
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I4e605e7acfe9d4fe409d32f20880b4c0e85a0ea7
|
|
Change-Id: Ia322149a7ed461f528af856d9907fe4620f9e97f
|
|
This is just too hard, it would all be much easier if the ActionGroup existed
right from the start of the entire process. So smuggle in to the ctor the
toplevel frame that the menubar will be inserted into so we can use its
ActionGroup from the start.
That would suggest that we could then just keep the hierarchy in sync as it is
created rather than finding opportune moments to update /generate it.
Change-Id: I550f94a994210423ab9cea1986e643056cb5bd29
Reviewed-on: https://gerrit.libreoffice.org/23287
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I77b30f28ae5a6fad360d7cada9acfaa9c324408b
Reviewed-on: https://gerrit.libreoffice.org/22216
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
... with how framework::MenuBarManager works, following my
work of converting context menus to use it instead of
SfxPopupMenuManager (see tdf#93837).
MenuBarManager sets menu item properties/select handler
when the menu activates - in MenuBarManager::Activate, but
it was never called for submenus. The solution is to adapt
the menuNeedsUpdate delegate to call Menu::Activate.
This makes submenu items work, but doesn't update their
visual state (e.g. title). The reason is that
AquaSalMenu::ShowNativePopupMenu is creating a copy of the
NSMenu, so AquaSalMenu::SetItemText is modifying the wrong
NSMenu instance.
Another problem is that AquaSalMenu::ShowNativePopupMenu
tries to removes (via removeUnusedItemsRunner function)
all disabled items, but the correct state is set by
MenuBarManager only when the menu activates. So we must
handle disabled items only after MenuBarManager::Activate
did its job.
Turns out that we can just hide items in NSMenu instead
of removing them, so no need to clone the NSMenu anymore.
Change-Id: If0785b7f9d5f0ad98ced23585379039a51dc13bf
Reviewed-on: https://gerrit.libreoffice.org/21374
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Tested-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
Change-Id: I90a955eb3e485723bb81e7164edcf60f7b0e94c7
|
|
Change-Id: I81990df584255f4a286cd078bcf15917c00ad504
Reviewed-on: https://gerrit.libreoffice.org/17687
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I08c484c54e27c55157836d68a28d2a0e580499d9
|
|
after my commit facc91ab4a3f25b3290408c7083ed4c09dd8d759
"convert FLOATWIN_POPUPMODE constants to scoped enum"
Change-Id: I5c2264eb2bab9ace89a72adecc840bc5d9d80b9d
|
|
Change-Id: Ie99d1dd241dc2bfa5c5ac2bff9f2330c491327bc
|
|
Change-Id: I58fffa7345f6b5050b8a1b3ac1022c630e64dbb4
Reviewed-on: https://gerrit.libreoffice.org/15651
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I2a6b4ba10d303a6a4ce5bc4582e68a73c2ae331e
|
|
Change-Id: Ia4c8920ce2ce44286c5042d4b5dbeaa41fe355cc
|
|
Change-Id: Ic46623380f026a8dfcc74c895db35a06bcea1ead
|
|
so just dump it
Change-Id: I006045aea345e84ff1944fc1ed1daa94bd7bca61
|
|
Change-Id: I7b0085af3b13bd6e1a50bf1e0e986d1524b52d7b
|
|
Change-Id: Ieae67cbf917cdf4bca2b0d6c1697eddc6137dbe2
|
|
Change-Id: Ie2d476780a48b5815961598e214343d5def962c1
|
|
Put the VCL KeyCode class in the vcl namespace. Avoids clash with the X11
KeyCode typedef.
Change-Id: I624c9d937f7c5f5986d313b6c5f060bd8bb7e028
|