Age | Commit message (Collapse) | Author |
|
Only skip the relative positioning when the window is indeed a dialog.
Follow up fix for a49245e04d45735aa76ad7720657c83530ba9ed8
Change-Id: Idbd8327a943c512f0a617cb0ca72e9caeb2e61e3
|
|
When calling setPosSize on a dialog, and there are other dialogs on top of it,
the dialog was positioned relative to its parent dialog.
Fix this, so that dialogs are always positioned relative to the main window (if there is one).
Revert of/Follow up to 8750c812c9b808ee980f7e0ce0e6ce91e75e1424
Change-Id: I69f189865b118f9bc20077d48591fbd9e83b014f
|
|
When positioning a dialog via external UNO connection,
and no LibreOffice window is visible (only quickstarter is running),
the window was mispositioned.
The ClientToScreen call changes the requested position, so skip that
for dialogs too.
Change-Id: I7656ec66b6aeccdc1fa306f5e05cf72b3cb87214
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138135
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
(cherry picked from commit 8750c812c9b808ee980f7e0ce0e6ce91e75e1424)
|
|
ispired by commit e32e0124f8da122af300210e637362832298ba96
Change-Id: Iad03dc9ab40c655853bec64598a8df8202eef118
|
|
This reverts commit 89612b363f3f11248beea6fa98071c80e8ea7a9c.
|
|
Change-Id: I346cf6cf148cd3b4ac851f8c441d54c858f55935
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107674
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit 4376820074abc4d70765675ef5a4adae8f58effe)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135315
Tested-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Change-Id: Ie36d7c4dfee5115b5909ed58a0b16b367e05866d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107734
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit 14372e301f0198067e4965ac1a234d9f9d21e3b2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135314
Tested-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Change-Id: I91e5a469344ab951225e61237b462ed58ed796be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107733
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit c8f61430b5760c7baabebff9c3159092975d4a88)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135313
Tested-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Change-Id: I70f96bef0db4d40b70e08426779435f75b0241fa
|
|
We already found a regressed installation from commit
518c0265efebf39ab6d1e90c4ec4e7cf52b701c6 ("WIN prevent deadlock
in SetForegroundWindow").
Finding a real fix might be impossible, so this just adds the
bootstrap.ini boolean variable Win32.EnableAttachThreadInputHack
to re-enable the previous AttachThreadInput hack on demand.
Change-Id: I3b6d770b060b5dee60e02a5aa85efb8a51518c82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90235
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
DeInitGraphics might already have reset the default HDC font,
while the WinSalGraphics still has a font fallback stack. Not
sure why this didn't trigger the existing assert before.
Quite probably there was an existing lifecycle bug.
Regression from commit 42f9d4335bfa4b7299224801fd7ccdd97ae92fbf
("WIN always (de-)init WinSalGraphics")
Change-Id: Ie5826e632310a0d69e8f9617cf6f3629bc31f152
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122726
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 3476106890ea2a00e6f949c918f6c05e17c66a36)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134516
Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
... and while at it make stuff private and add _ to the newly
private member variables.
The new assert revealed a bug in the SalGraphics refcounting,
because the virtual ReleaseGraphics is called from the
destructor, which was probably also the reason for the HACK
and comment in Printer::ImplReleaseFonts.
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122371
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 1b7c53db87bb67eeb2591fbb186f7ac20eb00c68)
Conflicts:
vcl/win/gdi/salprn.cxx
Change-Id: I7af0bda19be6810dd8c0ea5b74604381e2047407
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134515
Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Originally I thought the whole (de-)initialization was some kind
of lazy SalGraphics init stuff. But reading the existing code
proved me wrong and every InitGraphics came a few lines after a
setHDC call and DeInitGraphics before deletion or setHDC(nullptr).
$ git grep -n "delete.*pGraph\|setHDC\|InitGraphics" vcl/win/
So just make (De-)Init part of setHDC and drop all the other calls
to (De-)InitGraphics, adding a setHDC(nullptr) to the destructor.
I've also added some questionable asserts, like
assert(pPrinter->mpGraphics->getHDC() == pPrinter->mhDC);
As I read the code, you can have a printer object initialized with
a DC but without graphics, which will be initialized on demand.
But AFAIK it's invalid to have a printer DC != graphics DC.
Then there was the hDC check in WinSalPrinter::EndPage, which is
IMHO not needed. AFAIK there is no way the graphics DC might be
"magically" invalidated, so restoring the old DC values should
always work.
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122157
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 42f9d4335bfa4b7299224801fd7ccdd97ae92fbf)
Conflicts:
vcl/inc/win/salgdi.h
vcl/win/gdi/salprn.cxx
Change-Id: I1b961cfa733263ce773575a728bcce5c7d3e97ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134514
Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: Id5a811e4227052fd9117ab2b099de31e8e3b90c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90413
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
(cherry picked from commit 3741d70743c297029f54b20b0ca711f40cff7097)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90576
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
As mentioned in various blogs, like Raymon Chens "The old new
thing", 2008-08-01, "I warned you: The dangers of attaching input
queues", using AttachThreadInput to steal the input from an other
thread, so SetForegroundWindow becomes more reliable, can
deadlock in that call in win32u.dll!NtUserCallHwndLock.
Stackoverflow also has a multitude of suggestions and links in
"Win32 SetForegroundWindow unreliable", to circumvent Windows
focus-stealing prevention mechanisms.
A customer is experiencing these hangs reliably and often when
opening LO windows via Java UNO, because the Window and the UNO
thread are different and trigger this code path. Removing the
calls to AttachThreadInput fixes the problem for them. This has
started lately and nobody really knows why.
I also know other customers with a similar Java UNO setup, which
don't experience them.
For better foreground handling, the calling app eventually should
either use AllowSetForegroundWindow or CoAllowSetForegroundWindow
(for COM servers), to give up the foreground / input handling.
So this just drops the AttachThreadInput calls.
Change-Id: I8de0a17aaaa44c24b1ee728b2ef6ec3aea951c54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89527
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 518c0265efebf39ab6d1e90c4ec4e7cf52b701c6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89572
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
takes the load time from 24s to 21s for me.
The cache was determined experimentally for this document.
Change-Id: I34c78d1ff99cb8e72b274a201ded61d23e66941a
Reviewed-on: https://gerrit.libreoffice.org/83470
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 90ea305110e5881256ba272800074a2a9f6b613d)
Reviewed-on: https://gerrit.libreoffice.org/83542
|
|
Change-Id: I314183a1d6434c043183a600740c786e22a67503
Reviewed-on: https://gerrit.libreoffice.org/82276
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I4a403babbd24e7145aca4486230ae5b14b9eb581
Reviewed-on: https://gerrit.libreoffice.org/81428
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I854e1d4e6acef1c59842fe3921a42e95d0c8fd38
Reviewed-on: https://gerrit.libreoffice.org/81407
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I324496ff7c61d87a83b6b378810aa5c78cd7dba3
Reviewed-on: https://gerrit.libreoffice.org/81405
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ib45ea8cebe5f4069e05353bc5f1be6b67045a18c
Reviewed-on: https://gerrit.libreoffice.org/81216
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I5a6743c41599f55b14461741cebc40e4186945a7
Reviewed-on: https://gerrit.libreoffice.org/81215
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Replace them with default initialization or calloc
Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1
Reviewed-on: https://gerrit.libreoffice.org/80805
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It started out as a wrapper around character literals, but has by now become a
wrapper around arbitrary single characters. Besides updating the documentation,
this change is a mechanical
for i in $(git grep -Fl OUStringLiteral1); do sed -i -e s/OUStringLiteral1/OUStringChar/g "$i"; done
Change-Id: I1b9eaa4b3fbc9025ce4a4bffea3db1c16188b76f
Reviewed-on: https://gerrit.libreoffice.org/80892
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I7cedb51f52315b006506bb37fb3562a48c7f0f3d
Reviewed-on: https://gerrit.libreoffice.org/80712
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...since 5926b22b5dc33490d23d594b129eb8a70b94ffb0 "The SystemEnvData passed into
the canvas factories appears to be unused". (And the user-provided SvpSalObject
ctor can be removed, at which point the use in SvpSalInstance::CreateObject
should be written without "()" to avoid loplugin:subtlezeroinit.
Change-Id: I4392fa2d697b29c814d7b577a7b1f8c984c05e70
Reviewed-on: https://gerrit.libreoffice.org/80298
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
- remove double code
- using of all the methode of the CrashReporter-Class
- all methode only active when crash-dump enable
except the addKeyValue
With this change the handling for the patch
tdf#127711 A runtime-switch for the MiniCrashDump
would be simpler
Change-Id: I339b3b8e06f7fc2cd3c0d34ece112a6fd352913a
Reviewed-on: https://gerrit.libreoffice.org/79272
Tested-by: Jenkins
Reviewed-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
|
|
Change-Id: Ib8b2bc1c5f7b27a646036ce23cae2b6a06edd038
Reviewed-on: https://gerrit.libreoffice.org/79922
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I08da288a88c2bce1d4250ec77f17bd483e6bc09c
Reviewed-on: https://gerrit.libreoffice.org/79911
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ife5775d3a570da1fc2e4dd627456523705b64e1d
Reviewed-on: https://gerrit.libreoffice.org/79601
Reviewed-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
Tested-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
|
|
none of our supported hardware uses these any more
Change-Id: Ic95d6df619a05df0bec1f5870596cb2bb3bcc6cb
Reviewed-on: https://gerrit.libreoffice.org/79476
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iad0bbbf1e2a522778fe4a88632bd7cbce4e2008c
Reviewed-on: https://gerrit.libreoffice.org/78661
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I8bc5a73a91f28fcfd22ef716e9cf87d53997b1ad
Reviewed-on: https://gerrit.libreoffice.org/77337
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
the wollmux has change the dialogs form swing to the LO-Dialogs,
and when printig with MS-PDF then LO hang on this line.
The reason is wollmux run in it own thread, but this thread has
no win-message-pump, when the printer-driver would open the
FileSave-Dialog then it hangs, because the message-pump
is missing in this thread.
The swing has made it own win-message-pump for this
thread.
Change-Id: Ia5131464dcc5f166133a3302d29550e945dd1026
Reviewed-on: https://gerrit.libreoffice.org/78170
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
Tested-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
|
|
Move getting UPEM and font tables to the functions and use HarfBuzz API
to get them. In the future we might stop reading the tables ourselves
and use HarfBuzz metrics API instead.
Change-Id: I3f4511628fd33200bae94cdcd96479ba3e6d2fba
Reviewed-on: https://gerrit.libreoffice.org/78081
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: Id4a0b460ba3c43e80b80ae6e2da9e40a6753e14c
Reviewed-on: https://gerrit.libreoffice.org/77965
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7ca0f556164b6bc462cee3c5532733dbd6b68a2b
Reviewed-on: https://gerrit.libreoffice.org/77455
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I38e23114a257d1baf2a9f36fd8ac0fcf8f3938b3
Reviewed-on: https://gerrit.libreoffice.org/77356
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Change-Id: I2e2093ac3c8c6833b70d4932bc12a82a4483bde5
Reviewed-on: https://gerrit.libreoffice.org/76499
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Id8f72781d0338344bc96efb5cf62b67174aa80eb
Reviewed-on: https://gerrit.libreoffice.org/75152
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
This hides all the data, which shouldn't change after init. Real
const makes a lot of problems for copying, so this is the 2nd
option to just add getters for private data. While at it use
typed_flags for the GlyphItemFlags.
Change-Id: Ic1eeabe2398f6c30080fdd516285b72c620b11be
Reviewed-on: https://gerrit.libreoffice.org/75147
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Instead of some manual decoding of the .fot file, this extracts
all the relevant information of the registered font using the
default routines already used when enumerating the system fonts.
We still have to extract the font family from the .fot file to
know the registered family name of the embedded font.
And it uses the OSL functions to create the temporary font resource
file name and generally adds more SAL_WARNs when some part of the
private font registration fails.
Change-Id: I5e118bf1f3bc1fb7bbf4c68a383a45892dffaf98
Reviewed-on: https://gerrit.libreoffice.org/75102
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This way we can get rid of the embedded fonts without the reqirement
to re-process all of LO's shared fonts.
Change-Id: I25661a611d43ae05052e5cb9cc21e74ccd06b172
Reviewed-on: https://gerrit.libreoffice.org/75101
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This separates the system registration (AddFontResourceEx) of
LO's shared fonts from the later PhysicalFontCollection
population using EnumFontFamiliesEx.
Calling AddTempDevFont from GetDevFontList creates a new
WinFontFaces, but the later EnumFontFamiliesEx also creates
WinFontFaces for all registered fonts, resulting in duplicate
WinFontFace entries in the PhysicalFontCollection.
Also currently the provided WinFontFace from AddTempDevFont is
much less accurate, compated to the EnumFontFamiliesEx one.
Change-Id: I2cd8af77197429508d0a7112ff98706d7f449659
Reviewed-on: https://gerrit.libreoffice.org/75067
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
The condition "nFontType & RASTER_FONTTYPE" can never be true since we reject
such fonts, so nHeight is always zero and we can simplify the code a bit
accordingly.
Change-Id: Ib3a19777909e16367c8168e86e474c1a5ee64a5b
Reviewed-on: https://gerrit.libreoffice.org/74400
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
I don't understand why WidgetDrawInterface, which is basically a
copy of the SalGraphics native controls interface, duplicated it,
instead of cleaning things up.
The whole commit message of commit 8fcfa3853a81, which added this
code, is just: "custom widgets: Custom Widget Themes". That's it.
So this patch does, what the original one skipped: replacing the
SalGraphics interface with the WidgetDrawInterface. One result is
the addition of handleDamage to SalGraphics to correctly handle
the damage done by a custom widget theme to the underlying
SalGraphics implementation.
Change-Id: I5fda1a64b28e6560fb3c62e02b6dcda827f698e2
Reviewed-on: https://gerrit.libreoffice.org/74118
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This reverts commit a46a257794f1f53b294735fc876c394be23a3811.
Too many issues, I'm going to try landing this in smaller pieces to make it easier to fix regressions
Change-Id: Ie5e8979838017af86c119c887b580385ba068d54
Reviewed-on: https://gerrit.libreoffice.org/73859
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is the width part, the height part will come next.
Instead of storing "empty" as a special value (which is easy to get
wrong, eg. some image filters pass in that special value, expecting it
to be a valid width), just use separate boolean values for width and
height empty.
Also lots of code was calling GetBottom() or GetRight() on an
empty rectangle, getting back that magic value and doing calculations
on it, resulting in completely bogus data.
So
(1) make the various Rectangle methods do something reasonable
when the empty flags are set
(2) fix various other code to handle empty better
(3) assert when code accesses Bottom or Right and the empty flag
is set.
Change-Id: I1163378cd2773dd8b386210f83400bb6b4701069
Reviewed-on: https://gerrit.libreoffice.org/73564
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
BitmapColor itself is kept to distingish the Color usage as part
of a color palette, which continues to store the offset in the
blue value. The original special mbIndex handling is long gone
since commit 1fefdd6f3b41 ("Alpha channel in BitmapColor - change
bIndex to alpha"), so there is no data difference.
This also results in the following changes:
* now has a basic_ostream<charT, traits>& operator<<
(that was my actual starting point... for an other bug fix)
* there is a minimal difference for GetLiminance
BGR(29,151,76) => BGR(28,151,77)
* no more return values for Merge and Invert
(previously returning *this)
* replaces all GetBlueOrIndex with GetIndex
This leaves one "problematic" part: the GetColorError handling.
At first glance it should probably be virtual. The Color variant
is less strict then the BitmapColor one - for whatever reason.
BitmapColor is always used to search for the best match in a
Palette. Currently I'm simply leaving both variants. Would be
nice to have an explict for functions here.
Change-Id: I251ba3024a1d60f2a9d9fde9cd0a60f08e8322a7
Reviewed-on: https://gerrit.libreoffice.org/72181
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Pointed out in the post-commit review of
<https://gerrit.libreoffice.org/71592>, thanks Mike.
Change-Id: I49006e041a5110e995af44b7437ba0b48c4c860d
Reviewed-on: https://gerrit.libreoffice.org/71868
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|