Age | Commit message (Collapse) | Author |
|
There is just too much complexity involved, and the way LibreOffice
works really isn't prepared for the concept of windows having the
option from a system point of view to being full-screenable or not.
This means that the green bubble in window title bars changes from
being a (system) full-screen toggle to being a maximize/restore
toggle. Sure, the "maximize" concept also probably can be confused
with LibreOffice's own full-screen concept.
For instance, the Start Centre window is not expecting to be made
full-screen. Still, when you from the Start Centre open a Writer
document, it is the *same* window that is re-used as the Writer
window, and then suddenly should be prepared to handle going
full-screen.
Also, it is up to each separate kind of document window whether it can
be made full-screen (from the LibreOffice point of view) or not.
Writer windows can, but Impress windows can't, for example. The
View>Full Screen menu entry is added separately each case.
Change-Id: I6983481cbd30c0e5190c450483b1246006c80633
Reviewed-on: https://gerrit.libreoffice.org/55617
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
Sure, it is just a workaround, but a very effective workaround.
Change-Id: Id0daff048a27dae5cf8fb5e0e949c5b21e03fc86
Reviewed-on: https://gerrit.libreoffice.org/54924
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit aa81a086bd3dcd7d6b830951619f310bd0aff30c)
Reviewed-on: https://gerrit.libreoffice.org/54995
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
(cherry picked from commit b1eeeaccc3337510df93b147f5905fca3416fc48)
|
|
Symbol for MOD3 added
Change-Id: Idb76199fbff240fe39c96ed837db098a4283d70b
Reviewed-on: https://gerrit.libreoffice.org/52957
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>
(cherry picked from commit e422efcaff1bf789343a73a16e46b00f303e3032)
Reviewed-on: https://gerrit.libreoffice.org/53015
Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com>
(cherry picked from commit 54473bec1f419773dd0a44c3ed2754b7f7f7e840)
|
|
It seems that on some Macs that the
NSApplicationDidChangeScreenParametersNotification is sent for unknown
reasons quite often. I can reproduce the problem by changing the Dock
size in System Preferences while LibreOffice is running, but others
seem to get it without resorting to such trickery.
The code used to invoke the SalEvent::DisplayChanged callback in all
cases, which can be extremely heavy, as it involves re-measuring text
layouts all over the place in all open document windows.
Avoid that if the geometry in fact has not changed.
Sure, there still is the problem that LibreOffice can become
unresponsive for several seconds when the display geometry *does*
change, like when you attach or detach a display.
Change-Id: I659881e5e392bd599f6be190835e32a77d9f4725
Reviewed-on: https://gerrit.libreoffice.org/50249
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit 715b7b6f346fdd9c856db268dcd66334b58c273c)
Reviewed-on: https://gerrit.libreoffice.org/50264
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
... when it's hidden.
Change-Id: I7930afb8124dd552843512cd30bce4d82ade0c70
Reviewed-on: https://gerrit.libreoffice.org/49399
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
(cherry picked from commit 9d77e7551e56b85d7f1b40bc42b9ba6876091f22)
Reviewed-on: https://gerrit.libreoffice.org/49707
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
On some Macs, it seems that LibreOffice (or any app?) gets an
NSApplicationDidChangeScreenParametersNotification as soon as it has
started and asked for such a notification. Our handler for that
notification assumes that VCL is initialised. Thus we should not ask
for such notifications before VCL has been initialised.
I could not reproduce the reported crash with an unmodified
LibreOffice, only after inserting a sleep after the notifications had
been set up. But I am fairly sure this change fixes the problem.
Change-Id: I18d342eb7dc0c77cb7fc8623756bead65a1bd329
Reviewed-on: https://gerrit.libreoffice.org/50164
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/50197
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
|
|
to pre
commit f7d2bf216afa10268e6a7c1d4613a2fd8f7c7f3c
Date: Tue May 16 10:12:09 2017 +0100
Resolves: tdf#103174 & rhbz#1367846 improve gtk3 trackpad scrolling
state.
Change-Id: If5a494441731e73136158b4905c2744ba8bc8875
Reviewed-on: https://gerrit.libreoffice.org/48305
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Based on https://codereview.chromium.org/2325313002/
Change-Id: I8838449d57b1d1b010491a405c87645d38199fdf
Reviewed-on: https://gerrit.libreoffice.org/48330
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit ce88f2a7374bb8c53d57e8263e0701db19d62f30)
Reviewed-on: https://gerrit.libreoffice.org/48384
|
|
Change-Id: I0665880c0d0348fcbb3bcf04d9172405c8e31eb7
Reviewed-on: https://gerrit.libreoffice.org/48334
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit 44af50465a02b6f5566be45913a34fdbdba90133)
Reviewed-on: https://gerrit.libreoffice.org/48385
|
|
Change-Id: Iddf5ed0a611f6dec4d30d056729dfd6dcd1f37d9
|
|
Change-Id: If6084771aaa9d2bdc7ffca7550749cbb3bf8e084
|
|
This should be a pure re-factor, plus:
switch from Serif -> Sans font default for the UI (wow).
enable larger font size for LOK only
that avoids a hard to debug svx junit test failure.
Change-Id: Id438026064983ea4907819bab55c4be740954605
Reviewed-on: https://gerrit.libreoffice.org/44625
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
(in 5f27a6864420815d0d0abc409333fec963536faf.) Whether this has
anything to do with tdf#92190 is unclear. (I am not able to reproduce
that bug.)
Thanks to Telesto for noticing this copy-paste issue.
Change-Id: Iab47db59dc2af76adf70d92ab8333e06cd40e0d6
|
|
Change-Id: I802d9aae2220ae6b8f67e3387c3b329f6b02163c
|
|
This should be a pure re-factor, plus headless tweak.
Change-Id: Iad7f524ea76625601b3f85cc13a50311ed1de171
Reviewed-on: https://gerrit.libreoffice.org/44624
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
...so that e.g. main thread in SalYieldMutex::doAcquire could reset
m_aInMainTHreadCondition and then block waiting on it only after another thread
had set it. (Saw such a deadlock in some 'make check' CppunitTest.)
Change-Id: I5c676956a2bec6bf8f94d7dbeee64f100db39bd3
Reviewed-on: https://gerrit.libreoffice.org/44501
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
so drop param and rename to ReleaseYieldMutexAll
Change-Id: Ic4fcee24d46405659e54363c87f21d88696b0ce1
Reviewed-on: https://gerrit.libreoffice.org/44057
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ida0433437301ea2803373e534df3d42f67d6aff8
Reviewed-on: https://gerrit.libreoffice.org/43513
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
|
|
Change-Id: I4382a45dcffb32c7c001ee722ac1deccb2b01c2d
|
|
no need to explicitly specify it anymore
Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec
Reviewed-on: https://gerrit.libreoffice.org/43567
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Replace a lot of duplicated case code with macros.
Some minor constifications of function parameters.
I restrained from shorten the SAL_MSG_* via preprocessor concat,
so a grep will still find the whole names.
Change-Id: If1f2477fc8817b4ae7816e807154e35004bb4da9
Reviewed-on: https://gerrit.libreoffice.org/43531
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Basically works in the same way then in the Windows backend.
Change-Id: If48e2b55f037563839a5e716830ce75ed78381e4
Reviewed-on: https://gerrit.libreoffice.org/43530
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ibc13a8c1dbfd6fdfc5e35856b21ea5af310f63db
Reviewed-on: https://gerrit.libreoffice.org/43430
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
It seems that something filters application defined events when
closing a window... DoYield expects a timeout event, which never
arrives, stopping all redraw and generating a busy loop.
Change-Id: Ic83468cceac7b967acaecf18b321178fc7565b94
Reviewed-on: https://gerrit.libreoffice.org/43381
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Instead of storing the system ticks in the timer event message
simply store a version.
Moves the version handling code into a VersionedEvent class,
inherited by WinSalTimer and AquaSalTimer.
Change-Id: I5add85031d36b3424a26a9ef798294cbfb00b2e4
Reviewed-on: https://gerrit.libreoffice.org/42959
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ia00af1b79ac30ca00345f52a1981d3bfc1620f76
|
|
In the same spirit as the Windows commit
7c52d86f7b05fe7e0178f6d98a12a531b88a32ff.
Change-Id: Ic45803c0715723b6f57c9f6a0c731edd559aa92c
Reviewed-on: https://gerrit.libreoffice.org/42932
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Drops all the static calls and variables from SalAquaTimer
and moves all timer handling logic inside the class.
This also fixes the leak in timerElapsed.
Change-Id: Ie7a1a8fffb70b8579ec6876eed10a275d2f06d27
Reviewed-on: https://gerrit.libreoffice.org/42913
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Merges the various SalUserEvent structs and their handling into
a single class. This includes a common SalFrame* hash map, as all
backends use such a map to verify alive SalFrames.
It also reverts the "FIXME: lousy workaround" for i#90083, which
was part of commit d6f7c94e5c27ba02ff5c3229760c9808cc9b5bea.
At least on my current OSX box application based window switching
"just works" "out of the box", even without the code.
Change-Id: I188b567e44fd79c162b2d9cabbd771d1f66c7dc4
Reviewed-on: https://gerrit.libreoffice.org/42845
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
In otherEventWithType we have to set the timestamp manually to the
current uptime, and can't default to 0.
Change-Id: I3e96dff38ea81b0e6744fa175fc3a169e160b982
|
|
This is a "brown paperbag" fixup. untilDate is actually used as
a timeout for nextEventMatchingMask, not as a maximum event age.
So manually compare the event timestamp with the system uptime.
Change-Id: I912bedc0cba45c5cc231679c1b6139fa012492ed
|
|
This prevents blocking the main thread by a yielding non-main thread.
The current solution is to wait on a condition, which is set by the
main thread on wakeup.
Change-Id: I8d680bb51a36ce1e0d3d4713d47d8e2ef93d7297
Reviewed-on: https://gerrit.libreoffice.org/42808
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Application::Reschedule(true) must just process all currently
pending events and ignore all new events generated while processing
them. In contrast to Scheduler::ProcessEventsToIdle, this way it
can't busy-lock the application with background jobs.
This way we also can drop nMaxEvents from the Windows backend. This
limit was also never implemented on OSX and for the KDE4 backend
it's actually impossible to handle single events, and a call to
QAbstractEventDispatcher::processEvents works like this.
Also changes various call sites to just process all pending events
instead of some made up number of times.
Change-Id: I1ab95df89b079cc8c6319a808194fe3127144d1c
Reviewed-on: https://gerrit.libreoffice.org/42659
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I84e9d3fc344fdc9fcf90ab63303d86e7a1cb20da
|
|
This way we can drop all the special nReleased handling. Instead
we use the same mechanism as on Mac, where we keep the lock, but
disable it for the main thread. As a security measure we assert on
duplicate redirects, which should not happen.
As a result we can't use SendMessage on the main thread itself,
which would normally just call the WinProc directly. This could be
accomplished by converting the redirect bool into a counter, which
should be safe, as no other thread could acquire the SolarMutex,
as we don't release it.
Change-Id: Icd87b3da37a2489f3cad2bc80215bf93fc41d388
Reviewed-on: https://gerrit.libreoffice.org/42583
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I879a52820d78d9151ef64dd21612379f617f66e2
Reviewed-on: https://gerrit.libreoffice.org/42726
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
|
|
Change-Id: I6bcc39cd749f8cdbe550b94346c5cb8fd9f67097
|
|
The extension manager starts dialogs from its own thread. But the
OSX backend currently doesn't defer these calls to the main thread.
This implements the deference by running the called function
in the main thread, using a code ^Block, and returning the result
via a SalYieldMutex member.
Change-Id: Id8977991e3eda91da27c23d8021e028d4f4cefe5
Reviewed-on: https://gerrit.libreoffice.org/42448
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This shuts down the VCL scheduler later in the DeInitVCL call and
asserts active pending tasks, as these will never be processed
after shutdown.
There is currently a TODO whitelist, so the unit tests still pass
but probably most of these should be fixed. No task in the list
looks critical - all seem to do some idle / cleanup work.
This also processes all the Idles before shutdown. All seem to be
of type sfx::SfxItemDisruptor_Impl.
Change-Id: I9cc484a525cc2bacd54c4f271f86997517393e92
Reviewed-on: https://gerrit.libreoffice.org/40533
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I37c338fd08df3dc102963ccffc65c1f0684653be
|
|
All backends implement the SolarMutex in mostly the same way.
So this consolidates this code into a GenericSolarMutex.
We still need the abstract SolarMutex class for the fake AKA
fascade implementation in dbaccess.
The patch also replaces various places of direct mutex usage with
either SolarMutexGuard or SolarMutexReleaser objects.
Change-Id: Ia0146dd6c51a3b9a513cc6af34a66def58aad831
Reviewed-on: https://gerrit.libreoffice.org/42325
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ice41b6394bc4fc8e4b1d7b9c5689019361883b59
|
|
Just start the Idle, if actually something changed.
Quite probably we shouldn't rely on an Idle at all, but this
fixes the busy loop while installing an extension waiting in
a confirmation dialog.
Change-Id: I3abbe2eb6651ce9320ef6e4d9c5251a23ab87216
|
|
Change-Id: I993ab0021d0a0bee8e78975bba180355d2bfb19c
|
|
Change-Id: Ie6c9b4c98d1fab26f79e7549ebeb03aa81a1dd1d
|
|
While resizing MacOS suspends the NSDefaultRunLoopMode. So in this
caae we can't post to the system event loop, but must use timers
to restart ourself.
Since the timer itself is scheduled on the NSEventTrackingRunLoopMode
it' also triggers on resize events.
There is still some minor glitch: when resizing too fast some part of
LibreOffice isn't painted, while the left mouse button is down.
Since there isn't any layouting triggered by the mouse up, there has
to be an other inconsistency.
Change-Id: I3ccba78bd23ec8526f21e7b93b027f3d3279f901
|
|
Change-Id: Iaa9c0aea3ea1a239e378bd714ba335f91bb1faf3
Reviewed-on: https://gerrit.libreoffice.org/41194
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: Icda66259acf54e6771b926ce9d329287bd610e82
|
|
Change-Id: I678b1bf281ae4de4a75f8c83398ee19f75b4f278
|
|
Change-Id: I13fe0b5b77d8d43639afa035f2db6e904cd998be
|