Age | Commit message (Collapse) | Author |
|
Actual use of the code was already disabled since 2014 with
b8bee05dbf85bc4f5834520aa5d64e9ae18aba4e - but the link flags were not
conditionalized.
Change-Id: Ia1dd299cb78274850eb6a7b10259991bb4970ab9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136614
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
(cherry picked from commit 7a493a7d64dc634ae2d5d6931b8ce33223cb3985)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136553
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
See frame #5 and frame #45 where
both the same DNDEventDispatcher object and both functions lock m_aMutex which is a std::mutex since
commit 8de81db4e3fca488d50db2d74734109b31541a6f
Date: Mon Aug 2 09:21:17 2021 +0200
osl::Mutex->std::mutex in DNDEventDispatcher
#0 0x00007ff094530c40 in __lll_lock_wait () at /lib64/libc.so.6
#1 0x00007ff0945371d2 in pthread_mutex_lock@@GLIBC_2.2.5 () at /lib64/libc.so.6
#2 0x00007ff08b901663 in __gthread_mutex_lock(pthread_mutex_t*) (__mutex=0x1a32c60)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/x86_64-redhat-linux/bits/gthr-default.h:749
#3 0x00007ff08b9024d5 in std::mutex::lock() (this=0x1a32c60) at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_mutex.h:100
#4 0x00007ff08b9018f3 in std::scoped_lock<std::mutex>::scoped_lock(std::mutex&) (this=0x7ffdd0d79240, __m=...)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/mutex:731
#5 0x00007ff08b9006a8 in DNDEventDispatcher::dragOver(com::sun::star::datatransfer::dnd::DropTargetDragEvent const&) (this=0x1a32c10, dtde=...)
at vcl/source/window/dndeventdispatcher.cxx:156
#6 0x00007ff075f47658 in GtkInstDropTarget::fire_dragOver(com::sun::star::datatransfer::dnd::DropTargetDragEvent const&) (this=0x199eb40, dtde=...)
at vcl/unx/gtk3/gtkinst.cxx:1710
#7 0x00007ff0760a7010 in GtkInstDropTarget::signalDragMotion(_GtkWidget*, _GdkDragContext*, int, int, unsigned int)
(this=0x199eb40, pWidget=0x1c67e40, context=0x1957450, x=89, y=175, time=0) at vcl/unx/gtk3/gtkframe.cxx:5026
#8 0x00007ff07609bb77 in GtkSalFrame::signalDragMotion(_GtkWidget*, _GdkDragContext*, int, int, unsigned int, void*)
(pWidget=0x1c67e40, context=0x1957450, x=89, y=175, time=0, frame=0x19b7d70) at vcl/unx/gtk3/gtkframe.cxx:4922
#9 0x00007ff075649527 in _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINTv () at /lib64/libgtk-3.so.0
#10 0x00007ff0865dcd5b in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#11 0x00007ff0865ddeb8 in g_signal_emit_by_name () at /lib64/libgobject-2.0.so.0
#12 0x00007ff07595b491 in gtk_drag_dest_motion.lto_priv () at /lib64/libgtk-3.so.0
#13 0x00007ff0757b8f7d in gtk_main_do_event () at /lib64/libgtk-3.so.0
#14 0x00007ff0754e5463 in _gdk_event_emit () at /lib64/libgdk-3.so.0
#15 0x00007ff075518056 in gdk_event_source_dispatch () at /lib64/libgdk-3.so.0
#16 0x00007ff0864c3faf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#17 0x00007ff0865192c8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#18 0x00007ff0864c1940 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#19 0x00007ff075f3e60f in GtkSalData::Yield(bool, bool) (this=0x952930, bWait=false, bHandleAllCurrentEvents=false) at vcl/unx/gtk3/gtkdata.cxx:405
#20 0x00007ff075f43e43 in GtkInstance::DoYield(bool, bool) (this=0x9527e0, bWait=false, bHandleAllCurrentEvents=false) at vcl/unx/gtk3/gtkinst.cxx:428
#21 0x00007ff08c2dc5df in ImplYield(bool, bool) (i_bWait=false, i_bAllEvents=false) at vcl/source/app/svapp.cxx:474
#22 0x00007ff08c2dc24d in Application::Reschedule(bool) (i_bAllEvents=false) at vcl/source/app/svapp.cxx:493
#23 0x00007ff091eeeb55 in SbiRuntime::Step() (this=0xa21eb20) at basic/source/runtime/runtime.cxx:801
#24 0x00007ff091e0e659 in (anonymous namespace)::RunInitGuard::run() (this=0x76a6290) at basic/source/classes/sbxmod.cxx:1015
#25 0x00007ff091e0d135 in SbModule::Run(SbMethod*) (this=0xa0ada00, pMeth=0xa16d7e0) at basic/source/classes/sbxmod.cxx:1176
#26 0x00007ff091e0c503 in SbModule::Notify(SfxBroadcaster&, SfxHint const&) (this=0xa0ada00, rBC=..., rHint=...) at basic/source/classes/sbxmod.cxx:775
#27 0x00007ff090b3ee6e in SfxBroadcaster::Broadcast(SfxHint const&) (this=0xa231de0, rHint=...) at svl/source/notify/SfxBroadcaster.cxx:39
#28 0x00007ff091e1372e in SbMethod::Broadcast(SfxHintId) (this=0xa231ca0, nHintId=SfxHintId::BasicDataWanted) at basic/source/classes/sbxmod.cxx:2113
#29 0x00007ff091f6ddfa in SbxObject::Call(rtl::OUString const&, SbxArray*) (this=0xa258670, rName="DTL_dragOver", pParam=0xa1e47d0)
at basic/source/sbx/sbxobj.cxx:274
#30 0x00007ff091d9dd76 in StarBASIC::Call(rtl::OUString const&, SbxArray*) (this=0xa258670, rName="DTL_dragOver", pParam=0xa1e47d0)
at basic/source/classes/sb.cxx:1324
#31 0x00007ff091dd7127 in (anonymous namespace)::BasicAllListener_Impl::firing_impl(com::sun::star::script::AllEventObject const&, com::sun::star::uno::Any*)
(this=0xa2344a0, Event=..., pRet=0x0) at basic/source/classes/sbunoobj.cxx:3831
#32 0x00007ff091dd6ba1 in (anonymous namespace)::BasicAllListener_Impl::firing(com::sun::star::script::AllEventObject const&) (this=0xa2344a0, Event=...)
at basic/source/classes/sbunoobj.cxx:3855
#33 0x00007ff091dd792f in (anonymous namespace)::InvocationToAllListenerMapper::invoke(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&)
(this=0xa110b70, FunctionName="dragOver", Params=uno::Sequence of length 1 = {...}) at basic/source/classes/sbunoobj.cxx:3983
#34 0x00007ff091dd7be7 in non-virtual thunk to (anonymous namespace)::InvocationToAllListenerMapper::invoke(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&) ()
at /home/caolan/LibreOffice/core/instdir/program/libsblo.so
#35 0x00007ff072d19921 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*)
(pThis=0xa110b98, nVtableIndex=4, pRegisterReturn=0x7ffdd0d7b5c0, pReturnTypeRef=0xa875c0, bSimpleReturn=false, pStack=0x7ffdd0d7b5e0, nStack=0, pGPR=0x7ffdd0d7b900, pFPR=0x7ffdd0d7b8c0) at bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:77
#36 0x00007ff072d184fc in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void*, void**, _uno_Any**)
(pThis=0xa238bb0, aVtableSlot=..., pReturnTypeRef=0xa875c0, nParams=4, pParams=0x2470e40, pUnoReturn=0x7ffdd0d7bb80, pUnoArgs=0x7ffdd0d7bbb0, ppUnoExc=0x7ffdd0d7bb60) at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233
#37 0x00007ff072d17c58 in unoInterfaceProxyDispatch(uno_Interface*, typelib_TypeDescription const*, void*, void**, uno_Any**)
(pUnoI=0xa238bb0, pMemberDescr=0x24c98c0, pReturn=0x7ffdd0d7bb80, pArgs=0x7ffdd0d7bbb0, ppException=0x7ffdd0d7bb60)
at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:413
#38 0x00007ff0472645ca in stoc_invadp::(anonymous namespace)::AdapterImpl::invoke(_typelib_TypeDescription const*, void*, void**, _uno_Any**)
(this=0xa112060, pMemberType=0xa11be80, pReturn=0x7ffdd0d7c4f0, pArgs=0x7ffdd0d7bca0, ppException=0x7ffdd0d7bde0)
at stoc/source/invocation_adapterfactory/iafactory.cxx:457
#39 0x00007ff04726379d in stoc_invadp::adapter_dispatch(_uno_Interface*, _typelib_TypeDescription const*, void*, void**, _uno_Any**)
(pUnoI=0xa118a50, pMemberType=0xa11be80, pReturn=0x7ffdd0d7c4f0, pArgs=0x7ffdd0d7bca0, ppException=0x7ffdd0d7bde0)
at stoc/source/invocation_adapterfactory/iafactory.cxx:605
#40 0x00007ff072d04e95 in cpp2uno_call(bridges::cpp_uno::shared::CppInterfaceProxy*, _typelib_TypeDescription const*, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void**, void**, void**, unsigned long*)
(pThis=0xa11b350, pMemberTypeDescr=0xa11be80, pReturnTypeRef=0x939280, nParams=1, pParams=0xa112460, gpreg=0x7ffdd0d7c520, fpreg=0x7ffdd0d7c540, ovrflw=0x7ffdd0d7c590, pRegisterReturn=0x7ffdd0d7c4f0) at bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx:191
#41 0x00007ff072d04611 in cpp_vtable_call(sal_Int32, sal_Int32, void**, void**, void**, sal_uInt64*)
(nFunctionIndex=7, nVtableOffset=0, gpreg=0x7ffdd0d7c510, fpreg=0x7ffdd0d7c540, ovrflw=0x7ffdd0d7c590, pRegisterReturn=0x7ffdd0d7c4f0)
at bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx:389
#42 0x00007ff072d29836 in privateSnippetExecutor () at /home/caolan/LibreOffice/core/instdir/program/libgcc3_uno.so
#43 0x00007ff08b903787 in DNDListenerContainer::fireDragOverEvent(com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDropTargetDragContext> const&, signed char, int, int, signed char)
(this=0x5a444c0, context=uno::Reference to ((anonymous namespace)::GtkDropTargetDragContext *) 0xa1dda68, dropAction=1 '\001', locationX=89, locationY=33, sourceActions=3 '\003') at vcl/source/window/dndlistenercontainer.cxx:224
#44 0x00007ff08b900b7d in DNDEventDispatcher::fireDragOverEvent(vcl::Window*, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDropTargetDragContext> const&, signed char, Point const&, signed char)
(pWindow=0x5a27060, xContext=uno::Reference to ((anonymous namespace)::GtkDropTargetDragContext *) 0xa1dda68, nDropAction=1 '\001', rLocation=Point = {...}, nSourceActions=3 '\003') at vcl/source/window/dndeventdispatcher.cxx:297
#45 0x00007ff08b9007f5 in DNDEventDispatcher::dragOver(com::sun::star::datatransfer::dnd::DropTargetDragEvent const&) (this=0x1a32c10, dtde=...)
at vcl/source/window/dndeventdispatcher.cxx:178
#46 0x00007ff075f47658 in GtkInstDropTarget::fire_dragOver(com::sun::star::datatransfer::dnd::DropTargetDragEvent const&) (this=0x199eb40, dtde=...)
at vcl/unx/gtk3/gtkinst.cxx:1710
Change-Id: I06f24ac50d6d029803d46974162e1afec898d866
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136391
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib268729abf501da7e9f217ac3c3700cd853dfd43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134781
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
When opening macro run dlg, the last selected entry is displayed again.
When no entry was found, a crash occured in some situations
(GetLastEntryDescriptor() returned garbage).
Initialize m_aLastEntryDesc properly, and make sure the method returns
when no last selected macro was found.
Also fix some nullptr crashes which occurred during UITests
Change-Id: I7bd1a0b8824725f9935876ae26d8222410a3bc25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136140
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
(cherry picked from commit 499ecbf3a36990c29dc7e1fb9b0ecb1d297c2848)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136170
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 2545a7700f8a4872fd18cb8b1fffeaa4599136d9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136236
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
If the expander is initially collapsed then when mapped all its children
are mapped too.
If they are mapped then the mnemonics of the children are taken into
account on shortcuts and non-visible children in a collapsed expander
can be triggered which is confusing.
If the expander is expanded and collapsed the child is unmapped
and the problem doesn't occur.
So to avoid the problem of an initially collapsed expander, listen to
the map event and if the expander is mapped but collapsed then unmap the
child of the expander.
Change-Id: Ib4c7a704295b338230357c4c4102a3692f8a9707
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134453
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Crash seen:
> mergedlo.dll!SvTreeList::GetDepth(const SvTreeListEntry * pEntry) line 106
mergedlo.dll!SalInstanceTreeView::get_iter_depth(const weld::TreeIter & rIter) line 4230
basctllo.dll!basctl::SbTreeListBox::FindVariable(const weld::TreeIter * pEntry) line 271
basctllo.dll!basctl::SbTreeListBox::FindModule(const weld::TreeIter * pEntry) line 695
basctllo.dll!basctl::MacroChooser::BasicSelectHdl(weld::TreeView & __formal) line 473
basctllo.dll!basctl::MacroChooser::RestoreMacroDescription() line 158
basctllo.dll!basctl::MacroChooser::run() line 178
Change-Id: Ic85758c0bbee952d0a23b1d52e8bbdd231e8de26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135914
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
(cherry picked from commit 21747f8ef471080817db464a91ef203813e84677)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135938
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
This went wrong in commit 13aa5081793f133077610cd01b7f01ee765b4add
(remove unused defines, 2021-11-19), the trouble is that
postprocess/CustomTarget_images.mk needs these images to be listed in
bitmaps.hlst explictly, and the makefile won't see that the same names
are used in Throbber::getDefaultImageURLs(), constructed dynamically.
(cherry picked from commit 214438f1dcce52043c27c39e529cf60ff96c98cf)
Change-Id: Ie7ea1734ed417d17e1ce54d6a755509ef52572d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135829
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 358391950bf67b689668bc7b4018371d5a846ae3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135850
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
which may explain the backtraces seen with BitmapFilterStackBlur::filter
and BitmapBasicMorphologyFilter::filter in crashreporting
Change-Id: Ib55cde1603d354b8ca0e336a08fe2d73b548f73f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135695
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
vcl/source/helper/strhelper.cxx:366:9: error: ‘pBuffer[-1]’ may be used uninitialized [-Werror=maybe-uninitialized]
Change-Id: I37250b0790bd9c33eb01c552c8267251bc0026f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134738
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit cd4976646dc2e5b28c3328a7fa96361e147b23b9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134631
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
My code comment about "drawable area" and Michaels bug comment
12 about the "frameGeometry()" usage were both half right. LO
expects the window's frame position and the drawable client area
size almost everywhere when "geometry" is involved. The frame's
border is stored in the decorations members of SalFrameGeometry.
Change-Id: Ic00ad1f1d74d7afadcaca0c01e1a41ea7f2833de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135434
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 3f8d3fd4649ef09e86c735617383a4bda0425540)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135375
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
similar to https://bugzilla.mozilla.org/show_bug.cgi?id=1606038
.e.g. gnome a11y menu, pick "High Contrast"
Change-Id: I60643b3a37b722230d5ed47082e4a6491d005ce4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135160
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
if there is a max/min set.
Change-Id: I2dc7ccccad9ec2aa7eb89d8b5fa137e077a846fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135105
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 2896c5dad1799addd72b626d93d7e89b1cf19ff6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135070
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Rechecking the QImage documentation, this actually can be easily
done; no more bit twiddling, which I got wrong to begin with.
LO's alpha mask is inverted to Qt's expectations, but we have
invertPixels() and then apply it with setAlphaChannel(). And we
can even set the fAlpha using setOpacity()!
Change-Id: If2030d3f87d3a4698d1cd9af005d307c2ee63061
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135044
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
(cherry picked from commit 6959a18d1a8fea4d65498083dc3ba05f640d0f39)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135060
|
|
... instead of its QWindow
No idea, why my initial implementation used the QWindow. Neither
do I know, why it's now somehow broken. The code is called, but
the cursor doesn't change. But it seems to work via QWidget, so
just do that. IMHO less QWindow is preferable generally; let Qt
handle more of the low-level stuff.
Change-Id: Id23fba719c9a4d7e760991c51e6021c6f89be345
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135051
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
(cherry picked from commit caf862fc843c89cceae2121f743a3822e09bbd46)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135080
|
|
... and therefore rename it to QtObjectWidget
Replacement of the QWidget with QWindow originally happened in
commit 56b19f9a814ae5a39ed760ee542d715493cd0bf3 ("tdf#121247,
tdf#121266 KDE5: Add basic support for OpenGL"), but that
unfortunately has a very sparce commit message with no reason
for this change. Then the code was further complicated in commit
25edbded9946801effd117b9c46de0f8b4bc5632 ("tdf#125517 Qt5
implement a minimal Qt5ObjectWindow") and a few follow up fixes
to restore input and focus handling.
But appearingly all this QWindow handling isn't necessary and just
returning to a QWidget based class fixes the problems with the
video overlay (AKA QWidget::winId()) and video playback for good.
The OpenGL Impress transition (Fade) mentioned in the original
tdf#121266 bug still works.
This also adds the previously missing SolarMutexGuard to all the
overridden QtObjectWidget functions, which call the SalObject's
Callback function. I accidently triggered a DBG_TESTSOLARMUTEX
crashing Impress while debugging this.
Change-Id: Ia22cabfd4f3585dc7fa3f9f18a913c5bd1987dd8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134864
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
(cherry picked from commit 4366e0605214260e55a937173b0c2e02225dc843)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134903
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
Currently all implemented Qt platforms use freetype and fontconfig
to handle the font selection, so just move the font styling code
from the kf5 VCL plugin to qt.
This really minimizes kf5 by just keeping the special file picker
handling in that VCL plugin.
Change-Id: I0bbb2496379396afc46e34fe0d026702dce1492e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134862
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
(cherry picked from commit 7bf9629d4f3e8504b5d09685d7721275b3287443)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134917
|
|
In file included from vcl/inc/unx/cpdmgr.hxx:34,
from vcl/unx/generic/printer/cpdmgr.cxx:25:
In member function ‘size_t psp::FPtrHash::operator()(const FILE*) const’,
inlined from ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::__hash_code std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code>::_M_hash_code(const _Key&) const [with _Key = _IO_FILE*; _Value = std::pair<_IO_FILE* const, rtl::OString>; _ExtractKey = std::__detail::_Select1st; _Hash = psp::FPtrHash; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; bool __cache_hash_code = true]’ at /usr/include/c++/12/bits/hashtable_policy.h:1268:18,
inlined from ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::size_type std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::_M_erase(std::true_type, const key_type&) [with _Key = _IO_FILE*; _Value = std::pair<_IO_FILE* const, rtl::OString>; _Alloc = std::allocator<std::pair<_IO_FILE* const, rtl::OString> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<_IO_FILE*>; _Hash = psp::FPtrHash; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’ at /usr/include/c++/12/bits/hashtable.h:2358:43,
inlined from ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::size_type std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits>::erase(const key_type&) [with _Key = _IO_FILE*; _Value = std::pair<_IO_FILE* const, rtl::OString>; _Alloc = std::allocator<std::pair<_IO_FILE* const, rtl::OString> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<_IO_FILE*>; _Hash = psp::FPtrHash; _RangeHash = std::__detail::_Mod_range_hashing; _Unused = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]’ at /usr/include/c++/12/bits/hashtable.h:971:24,
inlined from ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::erase(const key_type&) [with _Key = _IO_FILE*; _Tp = rtl::OString; _Hash = psp::FPtrHash; _Pred = std::equal_to<_IO_FILE*>; _Alloc = std::allocator<std::pair<_IO_FILE* const, rtl::OString> >]’ at /usr/include/c++/12/bits/unordered_map.h:763:26,
inlined from ‘virtual bool psp::CPDManager::endSpool(const rtl::OUString&, const rtl::OUString&, FILE*, const psp::JobData&, bool, const rtl::OUString&)’ at vcl/unx/generic/printer/cpdmgr.cxx:725:28:
vcl/inc/unx/cupsmgr.hxx:35:43: error: pointer may be used after ‘int fclose(FILE*)’ [-Werror=use-after-free]
35 | { return reinterpret_cast<size_t>(pPtr); }
| ^
vcl/unx/generic/printer/cpdmgr.cxx: In member function ‘virtual bool psp::CPDManager::endSpool(const rtl::OUString&, const rtl::OUString&, FILE*, const psp::JobData&, bool, const rtl::OUString&)’:
vcl/unx/generic/printer/cpdmgr.cxx:695:15: note: call to ‘int fclose(FILE*)’ here
695 | fclose( pFile );
| ~~~~~~^~~~~~~~~
Change-Id: Ib035f2287649dcf9a2d37bda85ebcf52c6c51aaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134739
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 02ebfb8ed6175934a1985786e6816ecef1bd59f8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134632
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
use a throwaway toplevel to figure that out, because if the current
window is used then gtk will always call glGenVertexArrays on it due
to the creation of a GLContext which is the problem we want to avoid.
Change-Id: I40ccc48b5ed2d9fd99d3c242244847c8448c3803
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134350
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit da50382b366d6f3de778d8a52136cd812ef5b751)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134628
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
See https://crashreport.libreoffice.org/stats/signature/FormattedField::Down()
or https://crashreport.libreoffice.org/stats/signature/FormattedField::Up()
Change-Id: I30dfb06a1261a48a75b9d9c2380ed78121758ec2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134674
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit ce39195e533336ce1482e2be6b1bec2b7f992125)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134627
|
|
Change-Id: Id26d01fd19cc3ee12c0e14b785b3a5149d22baf5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134634
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Id5700cff1000fe4b6df6e73c1ce9ff4f206e0a96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134613
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
so a null path is invalid here
Change-Id: I1958e9695e3290e0c513bce89c9548908860754f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134187
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Return a `QVariant` from a `QByteArray` containing the UTF-16-encoded
characters when mime data for mime type "text/plain;charset=utf-16"
is requested in `QtMimeData::retrieveData`, rather than
a `QVariant` created from a a `QString`, to ensure that UTF-16
encoded data is actually used in the end.
While `QString` uses UTF-16 encoding itself,
`QMimeDataPrivate::retrieveTypedData` from the Qt library
would convert the retrieved `QString` data to UTF-8 [1],
resulting in a mismatch because UTF-8 encoded data would
actually be returned when UTF-16-encoded one has
been requested.
This gets called as follows:
0 QtMimeData::retrieveData
1 QMimeDataPrivate::retrieveTypedData
2 QMimeData::data
3 QtMimeData::deepCopy
[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/kernel/qmimedata.cpp?h=6.3.0#n212
Change-Id: I3db1476838336682584145fb43d397c8eed29ce2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134456
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit 6fc3ec85a32cd70216b4bbf21e479b4fc32a38dc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134451
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
Change-Id: Ifc37b0aa8dc657d7a7f05199c8132896d03eb437
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134240
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 3bd7111fe29ce19a007915af87f1f9269d27d9ff)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134183
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I590784eb94fb6f4f3a20c4f6d8e3fb618f60d0fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134227
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134242
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I748422dfbe7a385f4206c5d129eb3091289a180d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134220
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134241
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Similar to what it's already done for radiobuttons
Change-Id: I708d23dc5f9d4470a9850d7ecc60bd71fada594e
Change-Id: I34107c757b0e0933f392a6d0845fa0d2e07aed62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134170
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 6ee5fb6d32147e180552f66e615d1de932fdcf9c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134176
|
|
On the 30 pixels width images, the 3 first bytes were ok,
that's why the 24 first pixels of each line was ok.
The pb was in the fourth byte, you must read each bit of this last byte
until reaching 30 pixels, so 6 bits (since width 30 corresponds to 3 * 8 + (8 - 2)).
Here LO always shifted this byte with the same value, so used the value of the first bit for the last 6 bits of the last byte.
=> just decrement the shift value at the end of each loop
With this patch initial, attachment of the bugtracker https://bugs.documentfoundation.org/attachment.cgi?id=144656
and the more complex one https://bugs.documentfoundation.org/attachment.cgi?id=144656 are ok
Change-Id: I17339c54d6822c724184f167fb3a25b240e06543
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134235
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134248
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
so another font can be attempted for the remainder
Change-Id: Ie2c67c7c63510d02c99f2377c0c43ed6050ccd86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134131
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 4b693a0c594fb3b73f4a4c1e03e9916f1a107012)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134070
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Delete CJK-style mnemonics for the dropdown menu of the 'New button' and lower menu of 'File > New' on macOS
Change-Id: Idd0ab671cd75151095c92b37e5b6b5e81ddae7e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133872
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
with font "Droid Sans Japanese" which doesn't seem to be available in
ci, but is by default in the Fedora 37 build roots
I suspect since: https://github.com/harfbuzz/harfbuzz/issues/537
Change-Id: I23d9415444668ce379765f32a96ed67f057ebfd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133858
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
see also tdf#32665
Change-Id: I69746b815fec3c73f87de4dc3fe84dbc91e61f0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130877
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 04f9a8957c04b8c5abaa58140328d2c83381f4ff)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133724
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
If the glyphs have already been used, the AdjustLayout() call in
OutputDevice::ImplLayout might have altered them, since
MultiSalLayout::ImplAdjustMultiLayout() drops glyphs that need
falllback from the base layout. And then then
GenericSalLayout::LayoutText() would not know to call
SetNeedFallback().
Change-Id: I2f79d26c8b861f20d7d52abaa0d917aaeefb37a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133758
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
(cherry picked from commit 22191901bc91535121a5e8dc7ee6137233824d36)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133726
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: I9ca24a135494a49449aec63615b2d945a93e8b27
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133717
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
'Cop~y' translated into Chinese is '复制(~Y)'
But the mnemonics '(Y)' is useless on macOS.
In English, 'Cop~y' with the '~' removed is the correct result.
But in CJK should remove along with '(' and ')',
not just only for mbMenuBar. Use the method MnemonicGenerator::EraseAllMnemonicChars
already defined in vcl/mnemonic.hxx
Change-Id: Ic37ce566923e3dea47535d187b1b3dba2088e960
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133572
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 7fd1b0aa2ba741103a7d9ac835514ebbeae3bcff)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133714
|
|
gdk_wayland_drag_context_manage_dnd needs
gdk_device_window_at_position(device, ...)
to succeed
similar to the problem of https://gitlab.gnome.org/GNOME/gtk/-/issues/1080
Change-Id: I2e1956b40a622b1d74d3aef3b5fac654fc1256eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133409
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
patch will replace underscores with spaces of multi words icon pack name.
Change-Id: If37f6617b7c90eb912ab2f58fff0f1df225efa66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133094
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
(cherry picked from commit 02b740a7a047052e60274b8649f3624267eb079f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133280
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
MNEMONIC_RANGE_2_START and MNEMONIC_RANGE_2_END defined in 'core/include/vcl/mnemonic.hxx' are 'a' and 'z'
This variable c is UpperCase, should be converted to lowercase, and thencompare with MNEMONIC_RANGE_2_START and MNEMONIC_RANGE_2_END.
Change-Id: I721e293e88bf1b8260b7ea2dc39ae6a7fd4f3d79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133587
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133619
|
|
Just simplify by merging both almost identical parts.
Change-Id: I1658621609e10312feed530090adfa873602d2f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133115
Tested-by: Jenkins
(cherry picked from commit dc97aac5cdfa3789d4e71e9d92df6e7e68802825)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133485
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
At least on macOS, some `make screenshot` tests crashed for me due to endless
recursion, like the processing of modules/swriter/ui/converttexttable.ui in
CppunitTest_sw_dialogs_test for LO_TEST_LOCALE=gu:
[...]
> ImplSmallBorderWindowView::Init at vcl/source/window/brdwin.cxx:557:20
> ImplBorderWindow::Resize at vcl/source/window/brdwin.cxx:1736
> vcl::Window::queue_resize at vcl/source/window/window2.cxx:1351:28
> ImplSmallBorderWindowView::Init at vcl/source/window/brdwin.cxx:557:20
> ImplBorderWindow::Resize at vcl/source/window/brdwin.cxx:1736
> vcl::Window::queue_resize at vcl/source/window/window2.cxx:1351:28
> ImplSmallBorderWindowView::Init at vcl/source/window/brdwin.cxx:557:20
[...]
where in the calls to ImplSmallBorderWindowView::Init, nWidth=24 and nHeight=31,
as well as mnLeftBorder=6, mnTopBorder=6, and mnBottomBorder=6 remain stable,
but mnRightBorder keeps changing between 6 and 5.
This appears to be caused by instabilities in the
ImplLogicToDevicePixel and ImplDevicePixelToLogic calculations in
OutputDevice::GetNativeControlRegion (vcl/source/outdev/nativecontrols.cxx),
which can be avoided when we compute a hypothetical native control region from
aCtrolRegion that includes the borders, and only remove the borders from the
resulting aBounds and aContent. (The code to shrink aCtrlRegion prior to
calling GetNativeControlRegion had been introduced with
27be8a263eddb54cb6b66cc0f832bfd02016a694 "KDE4 fix edit box borders".)
Change-Id: I88c0d15ae7045a6888768226ca4d5fdd66bb41ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128549
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
(cherry picked from commit 31700036e517691d154701f4b8aeecb85cde607f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133482
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I26427ee1e010ce79e40c550459d9f53598570a7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133291
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
I have no idea, if there can be multiple active popups in LO in
some way. There can be multiple FloatingWindow and gtk does count
them in m_nFloats... There is a whole lot going on in gtk3 related
to isFloatGrabWindow(), with "funny" comments like:
// FIXME: find out who the hell steals the focus from our frame
So this goes with some "optimistic" approach: there is just one
active popup, so we can track it in QtInstance. It WFM...
Change-Id: I9778587696e1ad9e641dba4f102e2e921266eee6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133249
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit 347622a98f512dae709f938a85498dcdcf9f225a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133260
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Currently just implemented for the QtWidget, but still as a static
function, so it may be used for QtObject at some point too.
But there is no (mouse) enter or leave event function in QWindow,
so no way to handle these there. And since we can't modify the
returned QWidget from QWidget::createWindowContainer, the only way
would be to expand the static QtWidget::handleEvent used by
QtObjectWindow::event ... if it's actually needed at some point.
Includes squashed commit 5d56255c22c79b72c1cedb48cfe0a200f89bdc66
("qt6: Fix build (QtWidget::enterEvent)").
Change-Id: If9009e5dfca508acd1e702df1a17eb8ad7c29690
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133190
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit dc886bc6de2c0061a840bea2426663c3be2ecd26)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133149
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Gtk-CRITICAL **: 09:05:11.124: gtk_tree_row_reference_new_proxy: assertion 'path->depth > 0' failed
from TreeView::set_cursor(-1)
gtk_tree_view_set_cursor is ok (and documented as such) with an
"invalid" path to unset the cursor, but there isn't the same for
gtk_tree_view_scroll_to_cell, though there null is docs as acceptable.
Change-Id: I11b94ba997fbbd2f31031d9e73765ea1882ad9ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132872
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
which solves the problem of parts of the gtk ui remaining in the old
theme when switching dark<->light
Change-Id: I59060dfdf3937ca13cd706eefc9e67c133478992
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133043
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
I found this fix by testing "pure" red/green/blue files (see attachments in the bugtracker)
where red 16 bits file was ok but not green and blue 16 bits ones.
Change-Id: Ic700a0fa17c3056d1d4f1d1a7f16a799ff4c7378
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133108
(cherry picked from commit 49ee1c889665c3539fa9a1c99a865a42fc08ee97)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133051
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Instead of calling QToolTip::showText directly from LO, this
defers showing the tooltip to the QEvent processing, which takes
the tooltip timeouts into account. So tooltips are shown with
a slight delay, therefore they happen less fast on mouse move,
reducing / avoiding artifacts of fast changing windows.
This unfortunately comes with yet an other hack in the area of
our fake popup windows...
New handling is based on the code of the Qt Tool Tips example.
Change-Id: I42634ad36dd12171c30f52f07a02a88d3c48a718
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132841
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
(cherry picked from commit af6dd54d53eee0d0de1164bff0a77c6b433b3935)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132864
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Some traditional Chinese IMEs ( Input Method Editors ) under
Windows10 send WM_IME_NOTIFY with IMN_OPENCANDIDATE but not
IMN_CLOSECANDIDATE. The behavior is different if users configure
the IME and enable "legacy" option.
That caused the cursor been hidden, misled by mbCandidateMode.
The patch ignores the candidate window mode in case the length
of the composition string is 0, assume in that case candidate
window is useless, and resets the candidate window mode when
composition ended to maintain the state as much as we can.
Change-Id: I91a1c23ee1a031313243e032653f50f39b0f2a3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132512
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
(cherry picked from commit 2b2d1c08c94fdc3982971c2b19ea241f05e578c9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132858
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
When the QMenuBar of a QMainWindow is replaced, an existing
corner widget is preserved / transferred, but its connections
are still severed; a bit unexpected...
The documentation for QMenuBar::setCornerWidget is not really
clear what is happening, but the code has this nice comment:
"// Reparent corner widgets before we delete the old menu".
At least there is no need to explicitly delete the button.
Still we must reconnect an existing button on each SetFrame.
Regression from commit 9c4ef8ce3183e27ca174475cf4a8d15cc0368f60
("tdf#145954 Qt unshare QMenubar usage").
This includes commit 4a537cf77affc4f1f2e2e5be9ff0b1ff11724509
("Qt drop unused QtMenu::mpCloseButton").
Change-Id: I13c31734e665b78231a08cd76ca6305122e08879
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132836
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit f751417b77e6573a0c639778e76ec943449f4573)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132894
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I87cfad2da9b90bc4487dc4deb2fda5bb31a6b763
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132856
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|