Age | Commit message (Collapse) | Author |
|
Change-Id: Ib404310761fd555b033ab6594ba8636d37f23463
Reviewed-on: https://gerrit.libreoffice.org/19074
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I4017e5404c99d37b36988f1d7a8ce17e42010070
Reviewed-on: https://gerrit.libreoffice.org/18913
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
after my Link<> changes
Change-Id: I418101e2bf2a29b13b7e9eadaedfe57776cf45ee
|
|
Change-Id: If3e2b00092440ebd42ae5b73ae2b0e44c3702683
|
|
with the variadic variants.
Change-Id: I4499569f73b04cc7444787d51bf804c090a5c951
Reviewed-on: https://gerrit.libreoffice.org/18478
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
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: I6801618efb5a66d24156fa429e026acb6ca03aba
Reviewed-on: https://gerrit.libreoffice.org/17506
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
To create and destroy thread-affine Win32 Windows and DCs, non-main
threads SendMessage() special messages like SAL_MSG_CREATEFRAME.
The main thread must handle these messages and return the result to
un-block the other thread.
This works fine as long as the main thread is in its message loop anyway
and blocked on GetMessage(); however if the main blocks trying to acquire
the SolarMutex that is held by the sending thread, deadlock results.
In order to work around this, there is some peculiar code in
ImplSalYieldMutexAcquireWithWait() to avoid blocking the main thread on
mpSalYieldMutex but instead block in GetMessage().
The crucial detail is that GetMessage() will immediately dispatch any
message sent via SendMessage(), which avoids the deadlock.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms644936.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms644927.aspx
Most of the Win32 WndProc that acquire SolarMutex do so via
ImplSalYieldMutexAcquireWithWait(), but the main thread may also
temporarily drop SolarMutex and re-aquire it with the questionable
SolarMutexReleaser hack, which calls ImplSalAcquireYieldMutex()
instead, which blocks on mpSalYieldMutex.
Fix SolarMutexReleaser to call a new function
Application::ReAcquireSolarMutex() that does the right thing here:
acquire SolarMutex via ImplSalYieldMutexAcquireWithWait().
It turns out that this problem was already fixed before in commit
6a8fd4c76a969ac98d1aff91ff7442f43aee0006 but the problem was
insufficiently documented in the commit and it introduced the bug
that Application::Reschedule() was called without having the SolarMutex
locked, which caused timers to run without SolarMutex, so the commit
was reverted in 1ef1781390845d03b6e1518bbac81b818be62f3d.
Change-Id: I60aae555a9ee3c6390f584feddbc6b3cb7de0250
|
|
Change-Id: I1bb4ff2c13eaa2a9da3e32963ac0802e947e18d9
|
|
Change-Id: Iea29ce5fd6c620535197d3ca8538335078430e19
Reviewed-on: https://gerrit.libreoffice.org/15825
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ib8750a7acaf038476b0a5307e4a8a0bc3bf16015
Reviewed-on: https://gerrit.libreoffice.org/15824
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I5b99e42a3e85527b27d515c468d2ed66386fc9df
|
|
after my commit facc91ab4a3f25b3290408c7083ed4c09dd8d759
"convert FLOATWIN_POPUPMODE constants to scoped enum"
Change-Id: I5c2264eb2bab9ace89a72adecc840bc5d9d80b9d
|
|
LibreOffice.app on Mac, eventually call NSApplicationMain()
which never return.. so the sal_detail_deinitialize()
call intented by SAL_IMPLEMENT_MAIN*() is bypassed.
This will attempt to call it, as late as possible in the NSApplication
lifecycle.
Change-Id: I5cb63bfaeafb784a0fee356ff843b332d8e31932
Reviewed-on: https://gerrit.libreoffice.org/15684
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I1aeec1e8b00ab0f9e7ec130b6d72b69f35a304cf
|
|
Change-Id: Ie99d1dd241dc2bfa5c5ac2bff9f2330c491327bc
|
|
Turn the Link class into a template abstracting over the link's argument and
return types, but provide default template arguments that keep the generic,
unsafe "void* in, sal_IntPtr out" behvior. That way, individual uses of the
Link class can be updated over time.
All the related macros are duplicated with ..._TYPED counterparts, that
additionally take the RetType (except for LINK_TYPED, which manages to infer the
relevant types from the supplied Member).
(It would have been attractive to change the "untyped" LinkStubs from taking a
void* to a properly typed ArgType parameter, too, but that would cause
-fsanitize=function to flag uses of "untyped" Link::Call.)
Change-Id: I3b0140378bad99abbf240140ebb4a46a05d2d2f8
|
|
Change-Id: I682a0970fd667eacda781e799a941a11593ade90
|
|
...as follow-up clean-up after 71fefe1dc2bcda3a4cc18d71e1acaf161cc059f2 "Change
'blink times' to be of type sal_uInt64 and thus consistent with
Timer::Get/SetTimeout since 9c7016b5b530ca212b1275f44f9e2fc0527109ee 'Scheduler:
Changed uLong to uInt32/uInt64.'"
Transitively meant to change quite a number of further time-related places from
sal_uLong/sal_uIntPtr to consistently use sal_uInt64.
Change-Id: I38eb493943906356138bf58eb098d2f54a3dee34
Reviewed-on: https://gerrit.libreoffice.org/15214
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I832a5626b52935180f24857e56297840667eec2a
Reviewed-on: https://gerrit.libreoffice.org/14678
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Ia09e2e7b3e40bd04da64b52fe29258017b90b156
|
|
Change-Id: Ia4c8920ce2ce44286c5042d4b5dbeaa41fe355cc
|
|
Change-Id: I7223530ae37297a76654cd00cc1fedb56dbe3adb
|
|
Change-Id: I155e45f58974a2b946c4a7703b350bcbfbad342e
|
|
and replace SalIndicatorState, it serves the same purpose
Change-Id: I618b8946b8e2527883eecb13060b2256abc505b6
|
|
Change-Id: I64915b6a1dde7c0c518334b8d90bce70844d0fbe
|
|
Change-Id: I00dabf3307734e319a8187df111e1065ea383524
|
|
Change-Id: Ic46623380f026a8dfcc74c895db35a06bcea1ead
|
|
Change-Id: Ieae67cbf917cdf4bca2b0d6c1697eddc6137dbe2
|
|
Change-Id: Ia201473c84dc0923e8f4bee6329ad926cd6addd6
|
|
Put the VCL Window class in the vcl namespace. Avoids clash with the X11
Window typedef.
Change-Id: Ib1beb7ab4ad75562a42aeb252732a073d25eff1a
|
|
Change-Id: I851c414aa9e95c4d2c3ddb44deb5835656d16f87
|
|
Change-Id: Ief50a2fc533846cd61be66b1ea166a992942083b
|
|
Put the VCL KeyCode class in the vcl namespace. Avoids clash with the X11
KeyCode typedef.
Change-Id: I624c9d937f7c5f5986d313b6c5f060bd8bb7e028
|
|
to replace hand-rolled version
Change-Id: Idf3f2dd20bacd3cb3de64931027ef62d9116200f
|
|
Since commit e4dc93f5, LibreOffice just beeps on any key press:
it's impossible to add symbols by using keyboard. This patch
fixes that.
conditionally reverts e4dc93f5d8d0df50f1a8b4594220d0c57703e03d
Change-ID: Id30e30775c0d0224954b8a1f05fd0d8d5f39cd4e
Reviewed-on: https://gerrit.libreoffice.org/9793
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
NSTextInput was deprecated in 10.6.
Change-Id: I6bce9e91a68014a6ca28bff6a820c27817f9baaf
|
|
Change-Id: I81f2a4be65bbc9359e51accccb746f1e8ea48c4f
|
|
Change-Id: Iad76d452d5dbaa03099c1a649d7f278b0151f340
|
|
Change-Id: I42787db31769e8bde984c5f4f0aa90335e889b1c
Reviewed-on: https://gerrit.libreoffice.org/9356
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
|
|
Change-Id: I81ce8fd7022bf283db668705efdfb0666f87bde9
|
|
Change-Id: I25f2a79efff7b77651f7cd6c658269e9411c3bdd
|
|
Change-Id: I47c67d3d89ab22b07b3ec6fe7ea6e035d21e85b6
|
|
Change-Id: I6dfdd7d5d211b66019dfbe364101140e28a3584d
|
|
Currently there are a number of classes that have a function called
GetGraphics(). It returns a SalGraphics instance if one is available
for the sole use of the caller. Some variants keep a pool of available
SalGraphics and return one not currently in use by anyone, creating
extra ones on demand, sometimes up to a set limit and returning NULL
on reaching that limit of simultaneously in use SalGraphics.
This is confusing. What is really happening from the perspective of the calling
is that is that we are attempting to *acquire* ownership of a SalGraphics
instance.
Therefore, rename GetGraphics to AcquireGraphics() which returns a handle to a
SalGraphics if we can acquire a free graphics instance, and NULL if we cannot,
which makes it cleared that ReleaseGraphics should be called on the result
of AcquireGraphics.
The classes that were changed to include the new acquire function are:
* SalFrame
* SalVirtualDevice
* SalInfoPrinter
* PspSalInfoPrinter
* X11SalFrame
* X11SalVirtualDevice
* GtkSalFrame
* KDESalFrame
* TDESalFrame
* WinSalFrame
* WinSalInfoPrinter
* WinSalVirtualDevice
* SvpSalFrame
* SvpSalVirtualDevice
* AquaSalFrame
* AquaSalInfoPrinter
* AquaSalVirtualDevice
Change-Id: Ic39c08a4bcaf665ae08ba2808cd03b0e80790c46
Reviewed-on: https://gerrit.libreoffice.org/8070
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Thanks to SAL_OVERRIDE, I found a couple of unused functions and
several that were virtual even if they did not override anything and
were not overridden in any derived class.
Change-Id: I5981111d2fc38f75a384c52359546a973e772393
|
|
Conflicts:
include/vcl/settings.hxx
svtools/source/table/tablecontrol_impl.cxx
sw/source/core/frmedt/fecopy.cxx
vcl/inc/canvasbitmap.hxx
vcl/inc/headless/svpframe.hxx
vcl/inc/unx/salframe.h
vcl/inc/win/salframe.h
vcl/inc/win/salprn.h
vcl/inc/win/salvd.h
vcl/osx/DragSource.cxx
vcl/osx/DragSource.hxx
vcl/osx/DropTarget.cxx
vcl/osx/DropTarget.hxx
vcl/osx/OSXTransferable.cxx
vcl/osx/OSXTransferable.hxx
vcl/osx/clipboard.cxx
vcl/osx/clipboard.hxx
vcl/osx/salprn.cxx
vcl/qa/cppunit/canvasbitmaptest.cxx
vcl/source/components/fontident.cxx
vcl/source/control/edit.cxx
vcl/source/control/spinfld.cxx
vcl/source/gdi/gdimtf.cxx
vcl/source/gdi/virdev.cxx
vcl/source/helper/canvasbitmap.cxx
vcl/source/window/dockwin.cxx
vcl/unx/generic/dtrans/X11_selection.hxx
vcl/unx/kde/UnxFilePicker.cxx
vcl/unx/kde/UnxFilePicker.hxx
vcl/unx/kde4/KDE4FilePicker.cxx
vcl/unx/kde4/KDE4FilePicker.hxx
vcl/unx/kde4/KDESalFrame.hxx
Change-Id: I9866d985da86dea2a56feff23f91c1467a1636b0
Reviewed-on: https://gerrit.libreoffice.org/8219
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
|
|
Conflicts:
vcl/source/app/settings.cxx
vcl/source/window/dockmgr.cxx
vcl/source/window/dockwin.cxx
vcl/source/window/floatwin.cxx
vcl/source/window/toolbox2.cxx
Change-Id: Ie67681549a76e77064b09d4b5bf80fe4c6010341
Reviewed-on: https://gerrit.libreoffice.org/8339
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ie180b99a1a2d71922009c85c16ccb33b7968bd03
|