[Libreoffice-commits] core.git: Branch 'feature/eszka' - 15383 commits - accessibility/inc accessibility/IwyuFilter_accessibility.yaml accessibility/Library_acc.mk accessibility/source android/Bootstrap android/CustomTarget_lo_android.mk android/.gitignore android/mobile-config.py android/source animations/source antivirusDetection.vbs apple_remote/source autogen.sh avmedia/inc avmedia/IwyuFilter_avmedia.yaml avmedia/Library_avmediagst.mk avmedia/Library_avmediaMacAVF.mk avmedia/Library_avmedia.mk avmedia/Library_avmediavlc.mk avmedia/Library_avmediawin.mk avmedia/source basctl/inc basctl/IwyuFilter_basctl.yaml basctl/Library_basctl.mk basctl/qa basctl/sdi basctl/source basctl/uiconfig basctl/UIConfig_basicide.mk basctl/util basegfx/CppunitTest_basegfx.mk basegfx/inc basegfx/IwyuFilter_basegfx.yaml basegfx/source basegfx/test basic/CppunitTest_basic_macros.mk basic/inc basic/IwyuFilter_basic.yaml basic/qa basic/source bean/BUCK bean/com bean/Jar_officebean.mk bean/JunitTest_bean_complex.mk bean/n ative bean/test binaryurp/IwyuFilter_binaryurp.yaml binaryurp/source bin/benchmark-document-loading bin/check-elf-dynamic-objects bin/check-implementer-notes.py bin/check-missing-export-asserts.py bin/check-missing-unittests.py bin/convwatch.py bin/distro-install-desktop-integration bin/distro-install-file-lists bin/extract-tooltip.py bin/find-can-be-private-symbols.classes.results bin/find-can-be-private-symbols.functions.results bin/find-can-be-private-symbols.py bin/find-clang-format.py bin/find-duplicated-sids.py bin/find-files-not-referenced-by-makefile.py bin/find-german-comments bin/find-headers-to-move-inside-modules.py bin/find-mergedlib-can-be-private.classes.results bin/find-mergedlib-can-be-private.py bin/find-unneeded-includes bin/find-unused-defines.py bin/find-unused-sid-commands.py bin/find-unused-typedefs.py bin/gbuild-to-ide bin/gen-boost-headers bin/generate-bash-completion.py bin/get-bugzilla-attachments-by-mimetype bin/get_config_variables bin/gla11y bin/lint-ui .py bin/list-uitest.py bin/lo-all-static-libs bin/lo-xlate-lang bin/oss-fuzz-build.sh bin/pack-debug bin/run bin/sanitize-blacklist.txt bin/sanitize-excludelist.txt bin/symbolstore.py bin/symstore.sh bin/test-hid-vs-ui.py bin/ui-converter-skeleton.py bin/update bin/update_pch bin/update_pch_bisect bin/upload_symbols.py bridges/inc bridges/Jar_java_uno.mk bridges/Library_cpp_uno.mk bridges/source BUCK canvas/inc canvas/IwyuFilter_canvas.yaml canvas/Library_cairocanvas.mk canvas/Library_canvasfactory.mk canvas/Library_canvastools.mk canvas/Library_directx9canvas.mk canvas/Library_gdipluscanvas.mk canvas/Library_oglcanvas.mk canvas/Library_simplecanvas.mk canvas/Library_vclcanvas.mk canvas/README.vars canvas/source canvas/StaticLibrary_directxcanvas.mk canvas/workben chart2/CppunitTest_chart2_dump.mk chart2/CppunitTest_chart2_export.mk chart2/CppunitTest_chart2_geometry.mk chart2/CppunitTest_chart2_import.mk chart2/CppunitTest_chart2_pivot_chart_test.mk chart2/CppunitTest_chart2_trendc alculators.mk chart2/CppunitTest_chart2_xshape.mk chart2/inc chart2/IwyuFilter_chart2.yaml chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/Module_chart2.mk chart2/qa chart2/source chart2/uiconfig chart2/UIConfig_chart2.mk chart2/workbench .clang-format cli_ure/Module_cli_ure.mk cli_ure/source codemaker/Executable_cppumaker.mk codemaker/Executable_javamaker.mk codemaker/source comphelper/CppunitTest_comphelper_test.mk comphelper/CppunitTest_comphelper_threadpool_test.mk comphelper/inc comphelper/IwyuFilter_comphelper.yaml comphelper/Library_comphelper.mk comphelper/qa comphelper/source comphelper/util compilerplugins/clang compilerplugins/.gitignore compilerplugins/LICENSE.TXT compilerplugins/Makefile-clang.mk config.guess config_host/config_box2d.h.in config_host/config_features.h.in config_host/config_firebird.h.in config_host/config_global.h.in config_host/config_libnumbertext.h.in config_host/config_locales.h.in config_host/config_oauth2.h.in config_host/conf ig_options.h.in config_host/config_poppler.h.in config_host/config_qrcodegen.h.in config_host/config_skia.h.in config_host/config_vclplug.h.in config_host.mk.in configmgr/inc configmgr/IwyuFilter_configmgr.yaml configmgr/Library_configmgr.mk configmgr/qa configmgr/source config.sub configure.ac connectivity/CppunitTest_connectivity_commontools.mk connectivity/CppunitTest_connectivity_mysql_test.mk connectivity/CppunitTest_connectivity_sharedresources.mk connectivity/inc connectivity/IwyuFilter_connectivity.yaml connectivity/Jar_ConnectivityTools.mk connectivity/Library_ado.mk connectivity/Library_calc.mk connectivity/Library_dbase.mk connectivity/Library_dbpool2.mk connectivity/Library_dbtools.mk connectivity/Library_evoab.mk connectivity/Library_firebird_sdbc.mk connectivity/Library_flat.mk connectivity/Library_hsqldb.mk connectivity/Library_jdbc.mk connectivity/Library_macab1.mk connectivity/Library_mysqlc.mk connectivity/Library_mysql_jdbc.mk connectivity/Library_odbc.mk connecti vity/Library_sdbc2.mk connectivity/Library_writer.mk connectivity/Package_postgresql-sdbc.mk connectivity/qa connectivity/README connectivity/source connectivity/workben cppcanvas/inc cppcanvas/IwyuFilter_cppcanvas.yaml cppcanvas/qa cppcanvas/source cppu/CppunitTest_cppu_typelib.mk cppuhelper/inc cppuhelper/IwyuFilter_cppuhelper.yaml cppuhelper/Library_cppuhelper.mk cppuhelper/qa cppuhelper/source cppu/IwyuFilter_cppu.yaml cppu/Module_cppu.mk cppu/qa cppu/source cpputools/source cui/inc cui/IwyuFilter_cui.yaml cui/Library_cui.mk cui/Module_cui.mk cui/Package_cui.mk cui/qa cui/source cui/uiconfig cui/UIConfig_cui.mk cui/util dbaccess/CppunitTest_dbaccess_firebird_regression_test.mk dbaccess/CppunitTest_dbaccess_firebird_test.mk dbaccess/CppunitTest_dbaccess_hsqlbinary_import.mk dbaccess/CppunitTest_dbaccess_RowSetClones.mk dbaccess/CppunitTest_dbaccess_tdf119625.mk dbaccess/CppunitTest_dbaccess_tdf126268.mk dbaccess/inc dbaccess/IwyuFilter_dbaccess.yaml dbaccess/Library_dba.mk dbacce ss/Library_dbaxml.mk dbaccess/Library_dbu.mk dbaccess/Library_sdbt.mk dbaccess/Module_dbaccess.mk dbaccess/qa dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk dbaccess/util dbaccess/win32 desktop/CppunitTest_desktop_app.mk desktop/CppunitTest_desktop_lib.mk desktop/CustomTarget_soffice.mk desktop/Executable_soffice_bin.mk desktop/Executable_soffice_safe.mk desktop/Executable_unopkg_bin.mk desktop/Executable_unopkg_com.mk desktop/Executable_unopkg.mk desktop/inc desktop/IwyuFilter_desktop.yaml desktop/Jar_active_java.mk desktop/Jar_passive_java.mk desktop/Library_deployment.mk desktop/Library_migrationoo2.mk desktop/Library_migrationoo3.mk desktop/Library_sofficeapp.mk desktop/Library_spl.mk desktop/Module_desktop.mk desktop/Package_scripts.mk desktop/Pagein_common.mk desktop/qa desktop/scripts desktop/source desktop/test desktop/uiconfig desktop/unx desktop/win32 dictionaries distro-configs/CPAndroidAarch64.conf distro-configs/CPAndroidBranding.conf distro-configs/CPA ndroid.conf distro-configs/CPAndroidX86_64.conf distro-configs/CPAndroidX86.conf distro-configs/CPLinux.conf distro-configs/CPLinux-LOKit.conf distro-configs/CPOSX.conf distro-configs/CPWin32.conf distro-configs/CPWin64.conf distro-configs/Jenkins distro-configs/LibreOfficeAndroidAarch64.conf distro-configs/LibreOfficeAndroid.conf distro-configs/LibreOfficeAndroidX86_64.conf distro-configs/LibreOfficeAndroidX86.conf distro-configs/LibreOfficeCoverity.conf distro-configs/LibreOfficeFlatpak.conf distro-configs/LibreOfficeiOS.conf distro-configs/LibreOfficeiOS_Sim.conf distro-configs/LibreOfficeOnline.conf distro-configs/LibreOfficeOssFuzz.conf distro-configs/LibreOfficeVanillaMacAppStore.conf distro-configs/LibreOfficeWin32.conf distro-configs/LibreOfficeWin64.conf distro-configs/LibreOfficeWinArm64.conf download.lst drawinglayer/drawinglayer.component drawinglayer/inc drawinglayer/IwyuFilter_drawinglayer.yaml drawinglayer/Library_drawinglayer.mk drawinglayer/qa drawinglayer/source dt rans/Library_dnd.mk dtrans/Library_dtrans.mk dtrans/Library_ftransl.mk dtrans/Library_mcnttype.mk dtrans/Library_sysdtrans.mk dtrans/Makefile dtrans/Module_dtrans.mk dtrans/README dtrans/source dtrans/StaticLibrary_dtobj.mk dtrans/test dtrans/util editeng/CustomTarget_generated.mk editeng/inc editeng/IwyuFilter_editeng.yaml editeng/qa editeng/README editeng/source editeng/uiconfig embeddedobj/IwyuFilter_embeddedobj.yaml embeddedobj/Library_embobj.mk embeddedobj/Library_emboleobj.mk embeddedobj/qa embeddedobj/source embeddedobj/test embeddedobj/util embedserv/Library_emser.mk embedserv/source embedserv/util emfio/CppunitTest_emfio_emf.mk emfio/CppunitTest_emfio_emf_test.mk emfio/CppunitTest_emfio_wmf.mk emfio/CppunitTest_emfio_wmf_test.mk emfio/emfio.component emfio/inc emfio/IwyuFilter_emfio.yaml emfio/Library_emfio.mk emfio/Module_emfio.mk emfio/qa emfio/source eventattacher/source extensions/CustomTarget_automationtest.mk extensions/CustomTarget_so_activex_idl.mk extensions/Custom Target_so_activex_x64.mk extensions/Executable_twain32shim.mk extensions/inc extensions/IwyuFilter_extensions.yaml extensions/Library_dbp.mk extensions/Library_ldapbe2.mk extensions/Library_pcr.mk extensions/Library_scn.mk extensions/Library_WinUserInfoBe.mk extensions/Module_extensions.mk extensions/qa extensions/source extensions/test extensions/uiconfig extensions/UIConfig_sbibliography.mk extensions/UIConfig_spropctrlr.mk external/apache-commons external/apr external/beanshell external/bluez_bluetooth external/boost external/box2d external/breakpad external/bzip2 external/cairo external/clucene external/coinmp external/cppunit external/curl external/dtoa external/epm external/expat external/firebird external/fontconfig external/freetype external/glm external/gpgmepp external/harfbuzz external/hsqldb external/hunspell external/hyphen external/icu external/jfreereport external/languagetool external/lcms2 external/libabw external/libassuan external/libatomic_ops external/libcdr ext ernal/libcmis external/libebook external/libeot external/libepubgen external/libetonyek external/libexttextcat external/libffi external/libfreehand external/libgpg-error external/libjpeg-turbo external/liblangtag external/libmspub external/libmwaw external/libnumbertext external/libodfgen external/liborcus external/libpagemaker external/libpng external/libqxp external/librevenge external/libstaroffice external/libtommath external/libvisio external/libwpd external/libwpg external/libwps external/libxml2 external/libxslt external/libzmf external/lpsolve external/lxml external/mariadb-connector-c external/mdds external/Module_external.mk external/more_fonts external/mythes external/neon external/noto_font external/nss external/openldap external/openssl external/owncloud-android-lib external/pdfium external/poppler external/postgresql external/python3 external/qrcodegen external/redland external/rhino external/serf external/skia external/xmlsec extras/CustomTarget_autocorr.mk extras/Cus tomTarget_autotextshare.mk extras/CustomTarget_autotextuser.mk extras/CustomTarget_fontconfig.mk extras/CustomTarget_gallsystem.mk extras/CustomTarget_glade.mk extras/CustomTarget_opensymbol.mk extras/CustomTarget_tpldraw.mk extras/CustomTarget_tplofficorr.mk extras/CustomTarget_tploffimisc.mk extras/CustomTarget_tplpersonal.mk extras/CustomTarget_tplpresnt.mk extras/CustomTarget_tpl_styles.mk extras/Gallery_arrows.mk extras/Gallery_backgrounds.mk extras/Gallery_computers.mk extras/Gallery_diagrams.mk extras/Gallery_education.mk extras/Gallery_environment.mk extras/Gallery_finance.mk extras/Gallery_people.mk extras/Gallery_symbols.mk extras/Gallery_transportation.mk extras/Gallery_txtshapes.mk extras/Module_extras.mk extras/Package_autocorr.mk extras/Package_fontconfig.mk extras/Package_gallhtmlexpo.mk extras/Package_gallsystem.mk extras/Package_gallsystemstr.mk extras/Package_gallwwwgraf.mk extras/Package_palettes.mk extras/Package_resource_fonts.mk extras/Package_tpldraw.mk extras /Package_tpl_styles.mk extras/source filter/Configuration_filter.mk filter/CppunitTest_filter_msfilter.mk filter/CppunitTest_filter_priority.mk filter/CppunitTest_filter_svg.mk filter/CppunitTest_filter_textfilterdetect.mk filter/CustomTarget_svg.mk filter/inc filter/IwyuFilter_filter.yaml filter/Library_filterconfig.mk filter/Library_flash.mk filter/Library_graphicfilter.mk filter/Library_msfilter.mk filter/Library_pdffilter.mk filter/Library_storagefd.mk filter/Library_t602filter.mk filter/Library_textfd.mk filter/Library_xmlfa.mk filter/Library_xmlfd.mk filter/Module_filter.mk filter/qa filter/source filter/uiconfig filter/UIConfig_filter.mk forms/inc forms/IwyuFilter_forms.yaml forms/source formula/inc formula/IwyuFilter_formula.yaml formula/Library_for.mk formula/qa formula/source formula/uiconfig formula/util fpicker/inc fpicker/IwyuFilter_fpicker.yaml fpicker/Library_fps_aqua.mk fpicker/Library_fps.mk fpicker/Library_fps_office.mk fpicker/Module_fpicker.mk fpicker/qa fpicker/ source fpicker/test fpicker/uiconfig fpicker/WinResTarget_fps.mk framework/CppunitTest_framework_loadenv.mk framework/CppunitTest_framework_services.mk framework/dtd framework/inc framework/IwyuFilter_framework.yaml framework/Library_fwe.mk framework/Library_fwi.mk framework/Library_fwk.mk framework/Library_fwl.mk framework/Library_fwm.mk framework/Module_framework.mk framework/qa framework/source framework/uiconfig framework/UIConfig_startmodule.mk framework/util .git-blame-ignore-revs .git-hooks/commit-msg .git-hooks/pre-commit .git-hooks/README .gitignore .gitmodules .gitpod.dockerfile .gitpod.yml .gitreview hardened_runtime.xcent hardened_runtime.xcent.in helpcompiler/inc helpcompiler/IwyuFilter_helpcompiler.yaml helpcompiler/source helpcontent2 hwpfilter/source i18nlangtag/qa i18nlangtag/source i18npool/CppunitTest_i18npool_defaultnumberingprovider.mk i18npool/CustomTarget_breakiterator.mk i18npool/CustomTarget_collator.mk i18npool/CustomTarget_indexentry.mk i18npool/CustomTarg et_localedata.mk i18npool/CustomTarget_textconversion.mk i18npool/Executable_gendict.mk i18npool/inc i18npool/IwyuFilter_i18npool.yaml i18npool/Library_localedata_euro.mk i18npool/Library_localedata_others.mk i18npool/Module_i18npool.mk i18npool/qa i18npool/source i18npool/util i18nutil/source icon-themes/breeze icon-themes/breeze_dark icon-themes/breeze_dark_svg icon-themes/breeze_svg icon-themes/colibre icon-themes/colibre_svg icon-themes/elementary icon-themes/elementary_svg icon-themes/galaxy icon-themes/karasa_jaga icon-themes/karasa_jaga_svg icon-themes/README icon-themes/sifr icon-themes/sifr_dark icon-themes/sifr_dark_svg icon-themes/sifr_svg icon-themes/sukapura icon-themes/sukapura_svg icon-themes/tango icon-themes/tango_svg idlc/inc idlc/source idlc/test idl/Executable_svidl.mk idl/inc idl/source include/apple_remote include/avmedia include/basegfx include/basic include/canvas include/codemaker include/com include/comphelper include/connectivity include/cppcanvas include/ cppu include/cppuhelper include/cui include/dbaccess include/default.rc include/desktop include/drawinglayer include/editeng include/filter include/formula include/framework include/i18nlangtag include/i18npool include/i18nutil include/ios include/IwyuFilter_include.yaml include/jvmaccess include/jvmfwk include/LibreOfficeKit include/linguistic include/o3tl include/onlineupdate include/oox include/opencl include/osl include/package include/prewin.h include/registry include/rtl include/sal include/salhelper include/sax include/sfx2 include/sot include/store include/svl include/svtools include/svx include/systools include/test include/toolkit include/tools include/typelib include/ucbhelper include/uno include/unoidl include/unotest include/unotools include/vbahelper include/vcl include/xmloff include/xmlreader include/xmlscript instsetoo_native/CustomTarget_install.mk instsetoo_native/CustomTarget_setup.mk instsetoo_native/inc_common instsetoo_native/inc_ooohelppack instsetoo_native/i nc_openoffice instsetoo_native/inc_sdkoo instsetoo_native/ooenv instsetoo_native/util io/IwyuFilter_io.yaml io/Library_io.mk ios/CustomTarget_iOS_link.mk ios/CustomTarget_iOS_setup.mk ios/LibreOfficeLight ios/Module_ios.mk io/source ios/source ios/StaticLibrary_ios.mk ios/UnitTest io/test javaunohelper/BUCK javaunohelper/com javaunohelper/IwyuFilter_javaunohelper.yaml javaunohelper/Jar_juh.mk javaunohelper/JunitTest_juh.mk javaunohelper/pom.juh.xml javaunohelper/source javaunohelper/test javaunohelper/util jurt/BUCK jurt/com jurt/CustomTarget_test_urp.mk jurt/InternalUnoApi_test_urp.mk jurt/Jar_jurt.mk jurt/JunitTest_bridgefactory.mk jurt/JunitTest_connections.mk jurt/JunitTest_java.mk jurt/JunitTest_java_remote.mk jurt/JunitTest_remote.mk jurt/JunitTest_uno.mk jurt/JunitTest_urp.mk jurt/JunitTest_util.mk jurt/Library_jpipe.mk jurt/Module_jurt.mk jurt/pom.jurt.xml jurt/source jurt/test jurt/util jvmaccess/IwyuFilter_jvmaccess.yaml jvmaccess/workbench jvmfwk/CustomTarget_jrepropertie s.mk jvmfwk/CustomTarget_jvmfwk_jvmfwk3_ini.mk jvmfwk/inc jvmfwk/IwyuFilter_jvmfwk.yaml jvmfwk/plugins jvmfwk/source l10ntools/inc l10ntools/source leak-suppress.txt librelogo/CustomTarget_librelogo.mk librelogo/Package_librelogo.mk librelogo/source libreofficekit/IwyuFilter_libreofficekit.yaml libreofficekit/Library_libreofficekitgtk.mk libreofficekit/qa libreofficekit/source lingucomponent/Library_MacOSXSpell.mk lingucomponent/source linguistic/inc linguistic/IwyuFilter_linguistic.yaml linguistic/JunitTest_linguistic_complex.mk linguistic/Library_lng.mk linguistic/source linguistic/workben logerrit lotuswordpro/CppunitTest_lotuswordpro_import_test.mk lotuswordpro/inc lotuswordpro/IwyuFilter_lotuswordpro.yaml lotuswordpro/Library_lwpft.mk lotuswordpro/Module_lotuswordpro.mk lotuswordpro/qa lotuswordpro/source lo.xcent Makefile.fetch Makefile.in nlpsolver/Jar_nlpsolver.mk nlpsolver/src o3tl/Module_o3tl.mk o3tl/qa odk/build-examples_common.mk odk/config odk/CustomTarget_allheaders.mk odk/CustomTarget_check.mk odk/CustomTarget_doxygen.mk odk/CustomTarget_html.mk odk/CustomTarget_javadoc.mk odk/CustomTarget_unowinreg.mk odk/docs odk/examples odk/index.html odk/index_online.html odk/Module_odk.mk odk/qa odk/source offapi/com offapi/type_reference offapi/UnoApi_offapi.mk offapi/util officecfg/Configuration_officecfg.mk officecfg/CustomTarget_registry.mk officecfg/files.mk officecfg/registry officecfg/util onlineupdate/inc onlineupdate/source oovbaapi/ooo oox/CppunitTest_oox_drawingml.mk oox/CppunitTest_oox_export.mk oox/CppunitTest_oox_shape.mk oox/CppunitTest_oox_vml.mk oox/CustomTarget_generated.mk oox/documentation oox/inc oox/IwyuFilter_oox.yaml oox/Library_oox.mk oox/Module_oox.mk oox/qa oox/README oox/source oox/util opencl/inc opencl/IwyuFilter_opencl.yaml opencl/source osx/soffice.xcodeproj package/dtd package/inc package/Library_package2.mk package/Library_xstor.mk package/qa package/source package/util pch/inc postprocess/CppunitTest_services.mk postproce ss/CustomTarget_check_dynamic_objects.mk postprocess/CustomTarget_fontconfig.mk postprocess/CustomTarget_images.mk postprocess/CustomTarget_registry.mk postprocess/CustomTarget_signing.mk postprocess/Module_postprocess.mk postprocess/Package_fontconfig.mk postprocess/qa postprocess/Rdb_services.mk postprocess/signing pyuno/CustomTarget_python_shell.mk pyuno/CustomTarget_pyuno_pythonloader_ini.mk pyuno/demo pyuno/inc pyuno/IwyuFilter_pyuno.yaml pyuno/qa pyuno/source qadevOOo/.classpath qadevOOo/Jar_OOoRunner.mk qadevOOo/objdsc qadevOOo/qa qadevOOo/runner qadevOOo/tests readlicense_oo/CustomTarget_license.mk readlicense_oo/CustomTarget_readme.mk readlicense_oo/docs readlicense_oo/license readlicense_oo/Package_files.mk README.cross README.md registry/IwyuFilter_registry.yaml registry/source registry/test registry/tools remotebridges/source reportbuilder/Jar_reportbuilder.mk reportbuilder/java reportdesign/inc reportdesign/IwyuFilter_reportdesign.yaml reportdesign/Library_rpt.mk report design/Library_rptui.mk reportdesign/Library_rptxml.mk reportdesign/qa reportdesign/source reportdesign/uiconfig reportdesign/UIConfig_dbreport.mk reportdesign/util RepositoryExternal.mk Repository.mk RepositoryModule_build.mk RepositoryModule_host.mk ridljar/BUCK ridljar/com ridljar/CustomTarget_javamaker.mk ridljar/CustomTarget_test_urp.mk ridljar/InternalUnoApi_test_urp.mk ridljar/Jar_libreoffice.mk ridljar/Jar_ridl.mk ridljar/Jar_unoloader.mk ridljar/JunitTest_bridgefactory.mk ridljar/JunitTest_connections.mk ridljar/JunitTest_java.mk ridljar/JunitTest_java_remote.mk ridljar/JunitTest_remote.mk ridljar/JunitTest_typedesc.mk ridljar/JunitTest_uno.mk ridljar/JunitTest_urp.mk ridljar/JunitTest_util.mk ridljar/Module_ridljar.mk ridljar/pom.libreoffice.xml ridljar/pom.ridl.xml ridljar/source ridljar/test ridljar/util sal/android sal/CompilerTest_sal_rtl_oustring.mk sal/cppunittester sal/CppunitTest_sal_osl.mk sal/CppunitTest_sal_retry_if_failed.mk sal/CppunitTest_sal_rtl.mk sal/Execu table_cppunittester.mk salhelper/source salhelper/test sal/inc sal/Library_sal.mk sal/Module_sal.mk sal/osl sal/qa sal/rtl sal/textenc sal/util sanitize-ubsan-blacklist sanitize-ubsan-excludelist sax/CppunitTest_sax_parser.mk sax/qa sax/source sax/test scaddins/inc scaddins/IwyuFilter_scaddins.yaml scaddins/source sccomp/IwyuFilter_sccomp.yaml sccomp/qa sccomp/source sc/CppunitTest_sc_anchor_test.mk sc/CppunitTest_sc_check_data_pilot_field.mk sc/CppunitTest_sc_check_data_pilot_table.mk sc/CppunitTest_sc_check_xcell_ranges_query.mk sc/CppunitTest_sc_core.mk sc/CppunitTest_sc_jumbosheets_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_shapetest.mk sc/CppunitTest_sc_subsequent_export_test.mk sc/CppunitTest_sc_subsequent_filters_test.mk sc/CppunitTest_sc_uicalc.mk schema/libreoffice schema/mathml2 schema/odf1.3 sc/inc sc/IwyuFilter_sc.yaml sc/Library_sc.mk sc/Library_scui.mk sc/Library_vbaobj.mk sc/Module_sc.mk scp2/AutoInstall.mk scp2/inc scp2/source sc/qa sc/res scripting/e xamples scripting/IwyuFilter_scripting.yaml scripting/Jar_HelloWorld.mk scripting/Jar_Highlight.mk scripting/Jar_MemoryUsage.mk scripting/Jar_ScriptFramework.mk scripting/Jar_ScriptProviderForBeanShell.mk scripting/Jar_ScriptProviderForJava.mk scripting/Jar_ScriptProviderForJavaScript.mk scripting/java scripting/Library_protocolhandler.mk scripting/Package_ScriptsPython.mk scripting/source scripting/util sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk sc/UITest_autofilter.mk sc/UITest_calc_dialogs.mk sc/UITest_calc_tests2.mk sc/UITest_calc_tests3.mk sc/UITest_calc_tests4.mk sc/UITest_calc_tests6.mk sc/UITest_calc_tests7.mk sc/UITest_calc_tests8.mk sc/UITest_calc_tests9.mk sc/UITest_calc_tests.mk sc/UITest_chart.mk sc/UITest_conditional_format.mk sc/UITest_function_wizard.mk sc/UITest_goalSeek.mk sc/UITest_hideShowSheet.mk sc/UITest_inputLine.mk sc/UITest_key_f4.mk sc/UITest_manual_tests.mk sc/UITest_options.mk sc/UITest_pageFormat.mk sc/UITest_protect.mk sc/UITest_range_name.mk sc /UITest_sc_options.mk sc/UITest_search_replace.mk sc/UITest_signatureLine.mk sc/UITest_solver.mk sc/UITest_sort.mk sc/UITest_statistics.mk sc/UITest_textCase.mk sc/UITest_validity.mk sc/util sd/CppunitTest_sd_filter_eppt.mk sd/CppunitTest_sd_import_tests.mk sd/CppunitTest_sd_layout_tests.mk sd/CppunitTest_sd_misc_tests.mk sd/CppunitTest_sd_pdf_import_test.mk sd/CppunitTest_sd_tiledrendering.mk sdext/CustomTarget_pdfimport.mk sdext/inc sdext/IwyuFilter_sdext.yaml sdext/Library_pdfimport.mk sdext/Library_PresentationMinimizer.mk sdext/Library_PresenterScreen.mk sdext/source sd/inc sd/IwyuFilter_sd.yaml sd/Library_sd.mk sd/Library_sdui.mk sd/Module_sd.mk sd/Package_web.mk sd/qa sd/res sd/sdi sd/source sd/uiconfig sd/UIConfig_sdraw.mk sd/UIConfig_simpress.mk sd/util sd/workben sd/xml setup_native/Library_reg_dlls.mk setup_native/Module_setup_native.mk setup_native/scripts setup_native/source sfx2/classification sfx2/CppunitTest_sfx2_doc.mk sfx2/CppunitTest_sfx2_view.mk sfx2/inc sfx2/Iwy uFilter_sfx2.yaml sfx2/Library_sfx.mk sfx2/Module_sfx2.mk sfx2/qa sfx2/sdi sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk sfx2/UITest_sfx2_doc.mk sfx2/util shell/CustomTarget_shlxthdl_res.mk shell/CustomTarget_spsupp_idl.mk shell/inc shell/IwyuFilter_shell.yaml shell/Library_cmdmail.mk shell/Library_localebe.mk shell/Library_losessioninstall.mk shell/Library_macbe.mk shell/Library_smplmail.mk shell/Library_spsupp_x86.mk shell/Library_syssh.mk shell/Library_wininetbe.mk shell/Module_shell.mk shell/Package_senddoc.mk shell/qa shell/source slideshow/CppunitTest_slideshow.mk slideshow/inc slideshow/IwyuFilter_slideshow.yaml slideshow/Library_slideshow.mk slideshow/opengl slideshow/README slideshow/source slideshow/test slideshow/util smoketest/Executable_libtest.mk smoketest/Jar_smoketest.mk smoketest/Jar_TestExtension.mk smoketest/libtest.cxx smoketest/Module_smoketest.mk smoketest/smoketest.cxx solenv/bin solenv/buck solenv/clang-format solenv/CompilerTest_compilerplugins_clang.mk sol env/flatpak-manifest.in solenv/gbuild solenv/gcc-wrappers solenv/gdb solenv/inc solenv/maven solenv/PythonTest_solenv_python.mk solenv/qa solenv/README solenv/sanitizers solenv/wsl soltools/cpp soltools/mkdepend sot/inc sot/IwyuFilter_sot.yaml sot/source starmath/CppunitTest_starmath_qa_cppunit.mk starmath/inc starmath/IwyuFilter_starmath.yaml starmath/Library_sm.mk starmath/qa starmath/sdi starmath/source starmath/uiconfig starmath/util starmath/visual-editor-todo stoc/IwyuFilter_stoc.yaml stoc/source stoc/test store/IwyuFilter_store.yaml store/source svgio/CppunitTest_svgio.mk svgio/inc svgio/IwyuFilter_svgio.yaml svgio/Library_svgio.mk svgio/qa svgio/source svgio/svgio.component svl/CppunitTest_svl_lockfiles.mk svl/CppunitTest_svl_qa_cppunit.mk svl/inc svl/IwyuFilter_svl.yaml svl/Library_svl.mk svl/Module_svl.mk svl/qa svl/source svl/unx svtools/inc svtools/IwyuFilter_svtools.yaml svtools/Library_svt.mk svtools/Module_svtools.mk svtools/qa svtools/source svtools/uiconfig svtools/ UIConfig_svt.mk svx/CppunitTest_svx_gallery_test.mk svx/CppunitTest_svx_unit.mk svx/inc svx/IwyuFilter_svx.yaml svx/Library_svxcore.mk svx/Library_svx.mk svx/Library_textconversiondlgs.mk svx/Module_svx.mk svx/qa svx/sdi svx/source svx/uiconfig svx/UIConfig_svx.mk svx/UITest_svx_table.mk svx/util sw/CppunitTest_sw_accessible_relation_set.mk sw/CppunitTest_sw_apiterminate.mk sw/CppunitTest_sw_apitests.mk sw/CppunitTest_sw_core_accessibilitycheck.mk sw/CppunitTest_sw_core_crsr.mk sw/CppunitTest_sw_core_doc.mk sw/CppunitTest_sw_core_docnode.mk sw/CppunitTest_sw_core_draw.mk sw/CppunitTest_sw_core_edit.mk sw/CppunitTest_sw_core_frmedt.mk sw/CppunitTest_sw_core_layout.mk sw/CppunitTest_sw_core_objectpositioning.mk sw/CppunitTest_sw_core_text.mk sw/CppunitTest_sw_core_txtnode.mk sw/CppunitTest_sw_core_undo.mk sw/CppunitTest_sw_core_unocore.mk sw/CppunitTest_sw_docbookexport.mk sw/CppunitTest_sw_fodfexport.mk sw/CppunitTest_sw_globalfilter.mk sw/CppunitTest_sw_htmlexport.mk sw/CppunitTest_ sw_htmlimport.mk sw/CppunitTest_sw_indexingexport.mk sw/CppunitTest_sw_layoutwriter.mk sw/CppunitTest_sw_mailmerge.mk sw/CppunitTest_sw_odfexport.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_ooxmlexport15.mk sw/CppunitTest_sw_ooxmlexport16.mk sw/CppunitTest_sw_ooxmlexport4.mk sw/CppunitTest_sw_ooxmlexport5.mk sw/CppunitTest_sw_ooxmlexport8.mk sw/CppunitTest_sw_ooxmlimport2.mk sw/CppunitTest_sw_ooxmlimport.mk sw/CppunitTest_sw_rtfexport2.mk sw/CppunitTest_sw_rtfexport3.mk sw/CppunitTest_sw_rtfexport4.mk sw/CppunitTest_sw_rtfexport5.mk sw/CppunitTest_sw_rtfexport.mk sw/CppunitTest_sw_rtfimport.mk sw/CppunitTest_sw_tiledrendering.mk sw/CppunitTest_sw_txtexport.mk sw/CppunitTest_sw_txtimport.mk sw/CppunitTest_sw_uibase_dochdl.mk sw/CppunitTest_sw_uibase_frmdlg.mk sw/CppunitTest_sw_uibase_shells.mk sw/CppunitTest_sw_uibase_uiview.mk sw/CppunitTest_sw_uibase_uno.mk sw/CppunitTest_sw_uiwriter.mk sw/CppunitTest_sw_unowriter.mk sw/CppunitTest_sw_uwriter.mk sw/CppunitTest_sw_ww8export2 .mk sw/CppunitTest_sw_ww8export3.mk sw/CppunitTest_sw_ww8export.mk sw/CppunitTest_sw_ww8import.mk sw/CppunitTest_sw_xhtmlexport.mk sw/CustomTarget_generated.mk swext/Jar_mediawiki.mk sw/inc sw/IwyuFilter_sw.yaml sw/Library_msword.mk sw/Library_sw.mk sw/Library_swqahelper.mk sw/Library_vbaswobj.mk sw/Module_sw.mk sw/ooxmlexport_setup.mk sw/PythonTest_sw_python.mk sw/qa sw/sdi sw/source sw/uiconfig sw/UIConfig_swriter.mk sw/UITest_chapterNumbering.mk sw/UITest_classification.mk sw/UITest_librelogo.mk sw/UITest_options.mk sw/UITest_sw_findBar.mk sw/UITest_sw_findReplace.mk sw/UITest_sw_findSimilarity.mk sw/UITest_sw_navigator.mk sw/UITest_sw_options.mk sw/UITest_sw_styleInspector.mk sw/UITest_sw_table.mk sw/UITest_sw_ui_fmtui.mk sw/UITest_table.mk sw/UITest_writer_dialogs.mk sw/UITest_writer_macro_tests.mk sw/UITest_writer_tests2.mk sw/UITest_writer_tests3.mk sw/UITest_writer_tests4.mk sw/UITest_writer_tests5.mk sw/UITest_writer_tests6.mk sw/UITest_writer_tests7.mk sw/UITest_writer_tes ts.mk sw/util sysui/CustomTarget_deb.mk sysui/CustomTarget_infoplist.mk sysui/CustomTarget_rpm.mk sysui/CustomTarget_share.mk sysui/desktop sysui/productlist.mk test/IwyuFilter_test.yaml test/Package_unittest.mk test/qa test/signing-keys test/source testtools/com testtools/CustomTarget_bridgetest_climaker.mk testtools/CustomTarget_bridgetest_javamaker.mk testtools/CustomTarget_bridgetest.mk testtools/Jar_testComponent.mk testtools/source test/user-template toolkit/CppunitTest_toolkit.mk toolkit/inc toolkit/IwyuFilter_toolkit.yaml toolkit/JunitTest_toolkit_complex.mk toolkit/Library_tk.mk toolkit/qa toolkit/source toolkit/test tools/CppunitTest_tools_test.mk tools/CustomTarget_reversemap.mk tools/inc tools/IwyuFilter_tools.yaml tools/Library_tl.mk tools/qa tools/source translations ucbhelper/IwyuFilter_ucbhelper.yaml ucbhelper/Library_ucbhelper.mk ucbhelper/source ucb/IwyuFilter_ucb.yaml ucb/Library_cached1.mk ucb/Library_srtrs1.mk ucb/Library_ucb1.mk ucb/Library_ucpdav1.mk ucb/Libra ry_ucpext.mk ucb/Library_ucpftp1.mk ucb/Library_ucphier1.mk ucb/Library_ucppkg1.mk ucb/Library_ucptdoc1.mk ucb/qa ucb/README ucb/source udkapi/type_reference uitest/calc_tests uitest/demo_ui uitest/impress_tests uitest/libreoffice uitest/manual_tests uitest/Module_uitest.mk uitest/packaging uitest/test_main.py uitest/ui_logger_dsl uitest/uitest uitest/UITest_calc_demo.mk uitest/UITest_manual_tests.mk uitest/UITest_writer_demo.mk uitest/writer_tests UnoControls/inc UnoControls/IwyuFilter_UnoControls.yaml UnoControls/Library_ctl.mk UnoControls/source UnoControls/util unodevtools/inc unodevtools/source unoidl/Executable_unoidl-check.mk unoidl/Executable_unoidl-write.mk unoidl/IwyuFilter_unoidl.yaml unoidl/Module_unoidl.mk unoidl/source unoil/CustomTarget_javamaker.mk unoil/Jar_unoil.mk unoil/Module_unoil.mk unoil/pom.unoil.xml unotest/IwyuFilter_unotest.yaml unotest/Jar_test.mk unotest/Jar_test-tools.mk unotest/Module_unotest.mk unotest/source unotools/inc unotools/IwyuFilter_unotools. yaml unotools/Library_utl.mk unotools/qa unotools/source unotools/util unoxml/CppunitTest_unoxml_domtest.mk unoxml/inc unoxml/IwyuFilter_unoxml.yaml unoxml/Library_unordf.mk unoxml/Library_unoxml.mk unoxml/Module_unoxml.mk unoxml/qa unoxml/source ure/source uui/inc uui/IwyuFilter_uui.yaml uui/Library_uui.mk uui/qa uui/source uui/uiconfig uui/util vbahelper/inc vbahelper/IwyuFilter_vbahelper.yaml vbahelper/Library_msforms.mk vbahelper/source vbahelper/util vcl/android vcl/backendtest vcl/commonfuzzer.mk vcl/CppunitTest_vcl_app_test.mk vcl/CppunitTest_vcl_backend_test.mk vcl/CppunitTest_vcl_bitmap_test.mk vcl/CppunitTest_vcl_filter_igif.mk vcl/CppunitTest_vcl_filter_ipdf.mk vcl/CppunitTest_vcl_graphic_test.mk vcl/CppunitTest_vcl_lifecycle.mk vcl/CppunitTest_vcl_outdev.mk vcl/CppunitTest_vcl_pdfium_library_test.mk vcl/CppunitTest_vcl_png_test.mk vcl/CppunitTest_vcl_skia.mk vcl/CppunitTest_vcl_type_serializer_test.mk vcl/CustomTarget_gtk3_kde5_moc.mk vcl/CustomTarget_kf5_moc.mk vcl/Cust omTarget_qt5_moc.mk vcl/Executable_icontest.mk vcl/Executable_outdevgrind.mk vcl/Executable_svpclient.mk vcl/Executable_ui-previewer.mk vcl/Executable_vcldemo.mk vcl/Executable_visualbackendtest.mk vcl/headless vcl/inc vcl/ios vcl/IwyuFilter_vcl.yaml vcl/jsdialog vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3_kde5.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_osx.mk vcl/Library_vclplug_qt5.mk vcl/Library_vclplug_win.mk vcl/Module_vcl.mk vcl/opengl vcl/osx vcl/Package_opengl_blacklist.mk vcl/Package_opengl_denylist.mk vcl/Package_skia_denylist.mk vcl/Package_tipoftheday.mk vcl/Package_toolbarmode.mk vcl/qa vcl/qt5 vcl/quartz vcl/README vcl/README.vars vcl/skia vcl/source vcl/StaticLibrary_fuzzerstubs.mk vcl/uiconfig vcl/UIConfig_vcl.mk vcl/unx vcl/vcl.android.component vcl/vcl.common.component vcl/vcl.headless.component vcl/vcl.ios.component vcl/vcl.macosx.component vcl/vclplug_win.component vcl/vcl.unx.component vcl/vcl.windows.component vcl/win vcl/work ben winaccessibility/CustomTarget_ia2_idl.mk winaccessibility/inc winaccessibility/source wizards/com wizards/CustomTarget_share.mk wizards/CustomTarget_wizards.mk wizards/Jar_commonwizards.mk wizards/Jar_form.mk wizards/Jar_query.mk wizards/Jar_reportbuilder.mk wizards/Jar_report.mk wizards/Jar_table.mk wizards/Module_wizards.mk wizards/Package_scriptforge.mk wizards/Package_sfdatabases.mk wizards/Package_sfdialogs.mk wizards/Package_sfdocuments.mk wizards/source writerfilter/CppunitTest_writerfilter_dmapper.mk writerfilter/CppunitTest_writerfilter_filters_test.mk writerfilter/CppunitTest_writerfilter_rtftok.mk writerfilter/CustomTarget_source.mk writerfilter/documentation writerfilter/inc writerfilter/IwyuFilter_writerfilter.yaml writerfilter/Library_writerfilter.mk writerfilter/Module_writerfilter.mk writerfilter/qa writerfilter/source writerperfect/CppunitTest_writerperfect_calc.mk writerperfect/CppunitTest_writerperfect_dialogs_test.mk writerperfect/CppunitTest_writerperfect_dr aw.mk writerperfect/CppunitTest_writerperfect_import.mk writerperfect/CppunitTest_writerperfect_impress.mk writerperfect/CppunitTest_writerperfect_wpftimport.mk writerperfect/CppunitTest_writerperfect_writer.mk writerperfect/inc writerperfect/IwyuFilter_writerperfect.yaml writerperfect/Library_wpftqahelper.mk writerperfect/Module_writerperfect.mk writerperfect/qa writerperfect/source writerperfect/uiconfig xmerge/Jar_XMergeBridge.mk xmerge/Jar_xmerge.mk xmerge/source xmlhelp/IwyuFilter_xmlhelp.yaml xmlhelp/Library_ucpchelp1.mk xmlhelp/source xmlhelp/util xmloff/CppunitTest_xmloff_draw.mk xmloff/CppunitTest_xmloff_style.mk xmloff/CppunitTest_xmloff_text.mk xmloff/dtd xmloff/inc xmloff/IwyuFilter_xmloff.yaml xmloff/Library_xof.mk xmloff/Library_xo.mk xmloff/Module_xmloff.mk xmloff/qa xmloff/source xmloff/util xmlscript/dtd xmlscript/inc xmlscript/Library_xmlscript.mk xmlscript/source xmlscript/util xmlsecurity/CppunitTest_xmlsecurity_pdfsigning.mk xmlsecurity/CppunitTest_xmlsecurity_s igning.mk xmlsecurity/inc xmlsecurity/IwyuFilter_xmlsecurity.yaml xmlsecurity/Library_xmlsecurity.mk xmlsecurity/qa xmlsecurity/source xmlsecurity/uiconfig xmlsecurity/workben

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Tue Sep 14 11:05:04 UTC 2021


Rebased ref, commits from common ancestor:
commit f2e43a33fe769c28f648b492aaefb731c3cf3ce0
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Tue Sep 14 12:53:54 2021 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Tue Sep 14 12:53:59 2021 +0200

    handle mousemove and drop events in svp
    
    it uses handling from Henry's:
    https://gerrit.libreoffice.org/c/core/+/118869/9
    
    Change-Id: Ifb06dcd4e94ec3cd379389199ac35bee4a59c6b2

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 7fbbda5decd2..261caf9536e6 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -6495,7 +6495,7 @@ void ScGridWindow::UpdateDragRectOverlay()
         // #i70788# get the OverlayManager safely
         rtl::Reference<sdr::overlay::OverlayManager> xOverlayManager = getOverlayManager();
 
-        if (xOverlayManager.is() && !comphelper::LibreOfficeKit::isActive())
+        if (xOverlayManager.is())// && !comphelper::LibreOfficeKit::isActive())
         {
             std::vector< basegfx::B2DRange > aRanges;
             const basegfx::B2DHomMatrix aTransform(GetInverseViewTransformation());
diff --git a/vcl/inc/dndeventdispatcher.hxx b/vcl/inc/dndeventdispatcher.hxx
index bc2f5d9991e8..a790335fda68 100644
--- a/vcl/inc/dndeventdispatcher.hxx
+++ b/vcl/inc/dndeventdispatcher.hxx
@@ -22,11 +22,157 @@
 
 #include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp>
 #include <com/sun/star/datatransfer/dnd/XDropTargetDragContext.hpp>
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/datatransfer/XTransferable.hpp>
+#include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp>
+#include <com/sun/star/datatransfer/clipboard/XSystemClipboard.hpp>
+#include <com/sun/star/datatransfer/dnd/XDragSource.hpp>
+#include <com/sun/star/datatransfer/dnd/XDropTarget.hpp>
+#include <com/sun/star/datatransfer/dnd/DNDConstants.hpp>
 
 #include <com/sun/star/datatransfer/dnd/XDragGestureListener.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <vcl/window.hxx>
+#include <cppuhelper/compbase.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
+using namespace com::sun::star;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::lang;
+
+namespace vcl
+{
+class GenericDropTarget : public cppu::WeakComponentImplHelper<
+                                           css::datatransfer::dnd::XDropTarget,
+                                           XInitialization,
+                                           css::lang::XServiceInfo
+                                           >
+{
+    osl::Mutex m_aMutex;
+    ::std::vector< css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > > m_aListeners;
+public:
+    GenericDropTarget() : WeakComponentImplHelper( m_aMutex )
+    {}
+
+    // XInitialization
+    virtual void        SAL_CALL initialize( const Sequence< Any >& args ) override;
+
+    // XDropTarget
+    virtual void        SAL_CALL addDropTargetListener( const css::uno::Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
+    virtual void        SAL_CALL removeDropTargetListener( const css::uno::Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
+    virtual sal_Bool    SAL_CALL isActive() override;
+    virtual void        SAL_CALL setActive( sal_Bool active ) override;
+    virtual sal_Int8    SAL_CALL getDefaultActions() override;
+    virtual void        SAL_CALL setDefaultActions( sal_Int8 actions ) override;
+
+    void dragEnter( const com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent& dtde ) noexcept
+    {
+        osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex );
+        std::vector< css::uno::Reference< com::sun::star::datatransfer::dnd::XDropTargetListener > > aListeners( m_aListeners );
+        aGuard.clear();
+
+        for (auto const& listener : aListeners)
+        {
+            listener->dragEnter(dtde);
+        }
+    }
+
+    OUString SAL_CALL getImplementationName() override
+    { return "com.sun.star.datatransfer.dnd.VclGenericDropTarget"; }
+
+    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
+    { return cppu::supportsService(this, ServiceName); }
+
+    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
+    { return getSupportedServiceNames_static(); }
+
+    static Sequence< OUString > getSupportedServiceNames_static()
+    {
+      return { "com.sun.star.datatransfer.dnd.GenericDropTarget" };
+    }
+};
+
+/*
+*   generic DragSource dummy
+*/
+class GenericDragSource : public cppu::WeakComponentImplHelper<
+            datatransfer::dnd::XDragSource,
+            XInitialization,
+            css::lang::XServiceInfo
+            >
+{
+    osl::Mutex                          m_aMutex;
+    css::uno::Reference<css::datatransfer::XTransferable> m_xTrans;
+    css::uno::Reference<css::datatransfer::dnd::XDragSourceListener> m_xListener;
+    std::vector<GenericDropTarget*> m_pTarget;
+public:
+    GenericDragSource() : WeakComponentImplHelper( m_aMutex ) {}
+
+    static GenericDragSource& get( const OUString& rDisplayName );
+
+    void registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget );
+
+    void accept( sal_Int8 dragOperation );
+
+    // XDragSource
+    virtual sal_Bool    SAL_CALL isDragImageSupported() override;
+    virtual sal_Int32   SAL_CALL getDefaultCursor( sal_Int8 dragAction ) override;
+    virtual void        SAL_CALL startDrag(
+                                     const datatransfer::dnd::DragGestureEvent& trigger,
+                                     sal_Int8 sourceActions, sal_Int32 cursor, sal_Int32 image,
+                                     const css::uno::Reference< datatransfer::XTransferable >& transferable,
+                                     const css::uno::Reference< datatransfer::dnd::XDragSourceListener >& listener
+                                     ) override;
+
+    // XInitialization
+    virtual void        SAL_CALL initialize( const Sequence< Any >& arguments ) override;
+
+    OUString SAL_CALL getImplementationName() override
+    { return "com.sun.star.datatransfer.dnd.VclGenericDragSource"; }
+
+    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
+    { return cppu::supportsService(this, ServiceName); }
+
+    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
+    { return getSupportedServiceNames_static(); }
+
+    static Sequence< OUString > getSupportedServiceNames_static()
+    {
+       return { "com.sun.star.datatransfer.dnd.GenericDragSource" };
+    }
+
+private:
+    static std::unordered_map< OUString, GenericDragSource* >& getInstances();
+};
+
+class GenericDropTargetDropContext :
+    public ::cppu::WeakImplHelper<css::datatransfer::dnd::XDropTargetDropContext>
+{
+public:
+    GenericDropTargetDropContext();
+    // XDropTargetDropContext
+    virtual void SAL_CALL acceptDrop( sal_Int8 dragOperation ) override;
+    virtual void SAL_CALL rejectDrop() override;
+    virtual void SAL_CALL dropComplete( sal_Bool success ) override;
+};
+
+class GenericDropTargetDragContext :
+    public ::cppu::WeakImplHelper<css::datatransfer::dnd::XDropTargetDragContext>
+{
+    GenericDragSource* m_pDragSource;
+
+public:
+    GenericDropTargetDragContext(GenericDragSource* pDragSource);
+
+    // XDropTargetDragContext
+    virtual void SAL_CALL acceptDrag( sal_Int8 dragOperation ) override;
+    virtual void SAL_CALL rejectDrag() override;
+};
+}
 class DNDEventDispatcher final : public ::cppu::WeakImplHelper<
     css::datatransfer::dnd::XDropTargetListener,
     css::datatransfer::dnd::XDropTargetDragContext,
diff --git a/vcl/source/components/dtranscomp.cxx b/vcl/source/components/dtranscomp.cxx
index 5d54e4b5b459..cdfb8d39a9cc 100644
--- a/vcl/source/components/dtranscomp.cxx
+++ b/vcl/source/components/dtranscomp.cxx
@@ -44,6 +44,7 @@
 
 #include <cppuhelper/compbase.hxx>
 #include <cppuhelper/supportsservice.hxx>
+#include <dndeventdispatcher.hxx>
 
 using namespace com::sun::star;
 using namespace com::sun::star::uno;
@@ -52,121 +53,6 @@ using namespace com::sun::star::lang;
 namespace vcl
 {
 namespace {
-class GenericDropTarget : public cppu::WeakComponentImplHelper<
-                                           datatransfer::dnd::XDropTarget,
-                                           XInitialization,
-                                           css::lang::XServiceInfo
-                                           >
-{
-    osl::Mutex m_aMutex;
-    ::std::vector< css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > > m_aListeners;
-public:
-    GenericDropTarget() : WeakComponentImplHelper( m_aMutex )
-    {}
-
-    // XInitialization
-    virtual void        SAL_CALL initialize( const Sequence< Any >& args ) override;
-
-    // XDropTarget
-    virtual void        SAL_CALL addDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
-    virtual void        SAL_CALL removeDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
-    virtual sal_Bool    SAL_CALL isActive() override;
-    virtual void        SAL_CALL setActive( sal_Bool active ) override;
-    virtual sal_Int8    SAL_CALL getDefaultActions() override;
-    virtual void        SAL_CALL setDefaultActions( sal_Int8 actions ) override;
-
-    void dragEnter( const com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent& dtde ) noexcept
-    {
-        osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex );
-        std::vector< Reference< com::sun::star::datatransfer::dnd::XDropTargetListener > > aListeners( m_aListeners );
-        aGuard.clear();
-
-        for (auto const& listener : aListeners)
-        {
-            listener->dragEnter(dtde);
-        }
-    }
-
-    OUString SAL_CALL getImplementationName() override
-    { return "com.sun.star.datatransfer.dnd.VclGenericDropTarget"; }
-
-    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
-    { return cppu::supportsService(this, ServiceName); }
-
-    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
-    { return getSupportedServiceNames_static(); }
-
-    static Sequence< OUString > getSupportedServiceNames_static()
-    {
-      return { "com.sun.star.datatransfer.dnd.GenericDropTarget" };
-    }
-};
-
-/*
-*   generic DragSource dummy
-*/
-class GenericDragSource : public cppu::WeakComponentImplHelper<
-            datatransfer::dnd::XDragSource,
-            XInitialization,
-            css::lang::XServiceInfo
-            >
-{
-    osl::Mutex                          m_aMutex;
-    css::uno::Reference<css::datatransfer::XTransferable> m_xTrans;
-    css::uno::Reference<css::datatransfer::dnd::XDragSourceListener> m_xListener;
-    std::vector<GenericDropTarget*> m_pTarget;
-public:
-    GenericDragSource() : WeakComponentImplHelper( m_aMutex ) {}
-
-    static GenericDragSource& get( const OUString& rDisplayName );
-
-    void registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget );
-
-    void accept( sal_Int8 dragOperation );
-
-    // XDragSource
-    virtual sal_Bool    SAL_CALL isDragImageSupported() override;
-    virtual sal_Int32   SAL_CALL getDefaultCursor( sal_Int8 dragAction ) override;
-    virtual void        SAL_CALL startDrag(
-                                     const datatransfer::dnd::DragGestureEvent& trigger,
-                                     sal_Int8 sourceActions, sal_Int32 cursor, sal_Int32 image,
-                                     const Reference< datatransfer::XTransferable >& transferable,
-                                     const Reference< datatransfer::dnd::XDragSourceListener >& listener
-                                     ) override;
-
-    // XInitialization
-    virtual void        SAL_CALL initialize( const Sequence< Any >& arguments ) override;
-
-    OUString SAL_CALL getImplementationName() override
-    { return "com.sun.star.datatransfer.dnd.VclGenericDragSource"; }
-
-    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
-    { return cppu::supportsService(this, ServiceName); }
-
-    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
-    { return getSupportedServiceNames_static(); }
-
-    static Sequence< OUString > getSupportedServiceNames_static()
-    {
-       return { "com.sun.star.datatransfer.dnd.GenericDragSource" };
-    }
-
-private:
-    static std::unordered_map< OUString, GenericDragSource* >& getInstances();
-};
-
-class GenericDropTargetDragContext :
-    public ::cppu::WeakImplHelper<css::datatransfer::dnd::XDropTargetDragContext>
-{
-    GenericDragSource* m_pDragSource;
-
-public:
-    GenericDropTargetDragContext(GenericDragSource* pDragSource);
-
-    // XDropTargetDragContext
-    virtual void SAL_CALL acceptDrag( sal_Int8 dragOperation ) override;
-    virtual void SAL_CALL rejectDrag() override;
-};
 
 // generic implementation to satisfy SalInstance
 class GenericClipboard :
@@ -228,6 +114,22 @@ public:
 
 }
 
+/*
+ *  GenericDropTargetDropContext
+ */
+GenericDropTargetDropContext::GenericDropTargetDropContext()
+{
+}
+void GenericDropTargetDropContext::acceptDrop( sal_Int8 /*dragOperation*/ )
+{
+}
+void GenericDropTargetDropContext::rejectDrop()
+{
+}
+void GenericDropTargetDropContext::dropComplete( sal_Bool /*success*/ )
+{
+}
+
 GenericDropTargetDragContext::GenericDropTargetDragContext(GenericDragSource* pDragSource)
 : m_pDragSource(pDragSource)
 {
@@ -235,7 +137,8 @@ GenericDropTargetDragContext::GenericDropTargetDragContext(GenericDragSource* pD
 
 void GenericDropTargetDragContext::acceptDrag( sal_Int8 dragOperation )
 {
-    m_pDragSource->accept( dragOperation );
+    if (m_pDragSource)
+        m_pDragSource->accept( dragOperation );
 }
 
 void GenericDropTargetDragContext::rejectDrag()
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 2096b7cf3da1..ee2c867d595a 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -56,6 +56,8 @@
 
 #include <com/sun/star/datatransfer/dnd/XDragSource.hpp>
 #include <com/sun/star/awt/MouseEvent.hpp>
+#include <dndeventdispatcher.hxx>
+#include <com/sun/star/datatransfer/dnd/DNDConstants.hpp>
 
 #define IMPL_MIN_NEEDSYSWIN         49
 
@@ -273,6 +275,57 @@ bool ImplHandleMouseEvent( const VclPtr<vcl::Window>& xWindow, MouseNotifyEvent
     ImplFrameData* pWinFrameData = xWindow->ImplGetFrameData();
     sal_uInt16      nOldCode = pWinFrameData->mnMouseCode;
 
+        vcl::Window* pDragWin = pWinFrameData->mpMouseDownWin;
+    if (pDragWin && pDragWin->ImplGetFrameData()->mbStartDragCalled &&
+        nSVEvent == MouseNotifyEvent::MOUSEMOVE)
+    {
+        css::uno::Reference<css::datatransfer::dnd::XDropTargetDragContext> xDropTargetDragContext =
+            new vcl::GenericDropTargetDragContext(nullptr);
+        css::uno::Reference<css::datatransfer::dnd::XDropTarget> xDropTarget(
+            pDragWin->ImplGetWindowImpl()->mxDNDListenerContainer, css::uno::UNO_QUERY);
+        if (!xDropTargetDragContext.is() ||
+            !xDropTarget.is() ||
+            (nCode & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) ==
+            (MouseSettings::GetStartDragCode() & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)))
+        {
+            // cancel dragdrop
+            pDragWin->ImplGetFrameData()->mbStartDragCalled = false;
+            return false;
+        }
+        Point dragOverPos = pDragWin->ImplFrameToOutput(aMousePos);
+        static_cast<DNDListenerContainer *>(xDropTarget.get())->fireDragOverEvent(
+            xDropTargetDragContext,
+            css::datatransfer::dnd::DNDConstants::ACTION_MOVE,
+            dragOverPos.X(),
+            dragOverPos.Y(),
+            (css::datatransfer::dnd::DNDConstants::ACTION_COPY |
+             css::datatransfer::dnd::DNDConstants::ACTION_MOVE |
+             css::datatransfer::dnd::DNDConstants::ACTION_LINK));
+        return true;
+    }
+    if (pDragWin && pDragWin->ImplGetFrameData()->mbStartDragCalled &&
+        nSVEvent == MouseNotifyEvent::MOUSEBUTTONUP)
+    {
+        css::uno::Reference<css::datatransfer::dnd::XDropTargetDropContext> xDropTargetDropContext =
+            new vcl::GenericDropTargetDropContext();
+        css::uno::Reference<css::datatransfer::dnd::XDropTarget> xDropTarget(
+            pDragWin->ImplGetWindowImpl()->mxDNDListenerContainer, css::uno::UNO_QUERY);
+        if (xDropTargetDropContext.is() && xDropTarget.is())
+        {
+            Point dragOverPos = pDragWin->ImplFrameToOutput(aMousePos);
+            static_cast<DNDListenerContainer *>(xDropTarget.get())->fireDropEvent(
+                xDropTargetDropContext,
+                css::datatransfer::dnd::DNDConstants::ACTION_MOVE,
+                dragOverPos.X(),
+                dragOverPos.Y(),
+                (css::datatransfer::dnd::DNDConstants::ACTION_COPY |
+                 css::datatransfer::dnd::DNDConstants::ACTION_MOVE |
+                 css::datatransfer::dnd::DNDConstants::ACTION_LINK),
+                css::uno::Reference<css::datatransfer::XTransferable>());
+        }
+        pDragWin->ImplGetFrameData()->mbStartDragCalled = false;
+    }
+
     // we need a mousemove event, before we get a mousebuttondown or a
     // mousebuttonup event
     if ( (nSVEvent == MouseNotifyEvent::MOUSEBUTTONDOWN) || (nSVEvent == MouseNotifyEvent::MOUSEBUTTONUP) )
commit 38b4c12135a83fe9488c767ae7345708096a4f91
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Sun Sep 12 23:12:57 2021 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sun Sep 12 23:12:57 2021 +0200

    todo deglobalise
    
    Change-Id: I4b0d4aef1755f9745d2cde48d0320ece6c1856f2

diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx
index 20dc94e9e9e8..b0e017d4062f 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -139,6 +139,7 @@ public:
     void                AnythingChanged();
 
     //  Drag & Drop:
+    // global grag and drop
     const ScDragData&   GetDragData() const { return *m_pDragData;}
     void                SetDragObject( ScTransferObj* pCellObj, ScDrawTransferObj* pDrawObj );
     void                ResetDragObject();
commit 7312fb4fa33c6552641b03f7087757f571eecd77
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Sun Sep 12 23:12:48 2021 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sun Sep 12 23:12:48 2021 +0200

    add context
    
    Change-Id: I891772d2da37f616702154a836428b41ad09ed8e

diff --git a/vcl/inc/dndlistenercontainer.hxx b/vcl/inc/dndlistenercontainer.hxx
index 627ff7bcd11c..28339e7abeb8 100644
--- a/vcl/inc/dndlistenercontainer.hxx
+++ b/vcl/inc/dndlistenercontainer.hxx
@@ -29,17 +29,6 @@
 
 #include <vcl/unohelp2.hxx>
 
-class GenericDropTargetDragContext :
-    public ::cppu::WeakImplHelper<css::datatransfer::dnd::XDropTargetDragContext>
-{
-public:
-    GenericDropTargetDragContext();
-
-    // XDropTargetDragContext
-    virtual void SAL_CALL acceptDrag( sal_Int8 dragOperation ) override;
-    virtual void SAL_CALL rejectDrag() override;
-};
-
 class DNDListenerContainer final : public vcl::unohelper::MutexHelper,
                                 public ::cppu::WeakComponentImplHelper<
     css::datatransfer::dnd::XDragGestureRecognizer,
diff --git a/vcl/source/components/dtranscomp.cxx b/vcl/source/components/dtranscomp.cxx
index 6b5428caceea..5d54e4b5b459 100644
--- a/vcl/source/components/dtranscomp.cxx
+++ b/vcl/source/components/dtranscomp.cxx
@@ -25,6 +25,7 @@
 #include <tools/debug.hxx>
 #include <vcl/svapp.hxx>
 
+#include <dndlistenercontainer.hxx>
 #include <factory.hxx>
 #include <svdata.hxx>
 #include <salinst.hxx>
@@ -51,7 +52,6 @@ using namespace com::sun::star::lang;
 namespace vcl
 {
 namespace {
-
 class GenericDropTarget : public cppu::WeakComponentImplHelper<
                                            datatransfer::dnd::XDropTarget,
                                            XInitialization,
@@ -102,6 +102,72 @@ public:
     }
 };
 
+/*
+*   generic DragSource dummy
+*/
+class GenericDragSource : public cppu::WeakComponentImplHelper<
+            datatransfer::dnd::XDragSource,
+            XInitialization,
+            css::lang::XServiceInfo
+            >
+{
+    osl::Mutex                          m_aMutex;
+    css::uno::Reference<css::datatransfer::XTransferable> m_xTrans;
+    css::uno::Reference<css::datatransfer::dnd::XDragSourceListener> m_xListener;
+    std::vector<GenericDropTarget*> m_pTarget;
+public:
+    GenericDragSource() : WeakComponentImplHelper( m_aMutex ) {}
+
+    static GenericDragSource& get( const OUString& rDisplayName );
+
+    void registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget );
+
+    void accept( sal_Int8 dragOperation );
+
+    // XDragSource
+    virtual sal_Bool    SAL_CALL isDragImageSupported() override;
+    virtual sal_Int32   SAL_CALL getDefaultCursor( sal_Int8 dragAction ) override;
+    virtual void        SAL_CALL startDrag(
+                                     const datatransfer::dnd::DragGestureEvent& trigger,
+                                     sal_Int8 sourceActions, sal_Int32 cursor, sal_Int32 image,
+                                     const Reference< datatransfer::XTransferable >& transferable,
+                                     const Reference< datatransfer::dnd::XDragSourceListener >& listener
+                                     ) override;
+
+    // XInitialization
+    virtual void        SAL_CALL initialize( const Sequence< Any >& arguments ) override;
+
+    OUString SAL_CALL getImplementationName() override
+    { return "com.sun.star.datatransfer.dnd.VclGenericDragSource"; }
+
+    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
+    { return cppu::supportsService(this, ServiceName); }
+
+    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
+    { return getSupportedServiceNames_static(); }
+
+    static Sequence< OUString > getSupportedServiceNames_static()
+    {
+       return { "com.sun.star.datatransfer.dnd.GenericDragSource" };
+    }
+
+private:
+    static std::unordered_map< OUString, GenericDragSource* >& getInstances();
+};
+
+class GenericDropTargetDragContext :
+    public ::cppu::WeakImplHelper<css::datatransfer::dnd::XDropTargetDragContext>
+{
+    GenericDragSource* m_pDragSource;
+
+public:
+    GenericDropTargetDragContext(GenericDragSource* pDragSource);
+
+    // XDropTargetDragContext
+    virtual void SAL_CALL acceptDrag( sal_Int8 dragOperation ) override;
+    virtual void SAL_CALL rejectDrag() override;
+};
+
 // generic implementation to satisfy SalInstance
 class GenericClipboard :
         public cppu::WeakComponentImplHelper<
@@ -162,6 +228,20 @@ public:
 
 }
 
+GenericDropTargetDragContext::GenericDropTargetDragContext(GenericDragSource* pDragSource)
+: m_pDragSource(pDragSource)
+{
+}
+
+void GenericDropTargetDragContext::acceptDrag( sal_Int8 dragOperation )
+{
+    m_pDragSource->accept( dragOperation );
+}
+
+void GenericDropTargetDragContext::rejectDrag()
+{
+}
+
 Sequence< OUString > GenericClipboard::getSupportedServiceNames_static()
 {
     Sequence< OUString > aRet { "com.sun.star.datatransfer.clipboard.SystemClipboard" };
@@ -249,61 +329,6 @@ vcl_SystemClipboard_get_implementation(
     return xClipboard.get();
 }
 
-namespace {
-
-/*
-*   generic DragSource dummy
-*/
-class GenericDragSource : public cppu::WeakComponentImplHelper<
-            datatransfer::dnd::XDragSource,
-            XInitialization,
-            css::lang::XServiceInfo
-            >
-{
-    osl::Mutex                          m_aMutex;
-    css::uno::Reference<css::datatransfer::XTransferable> m_xTrans;
-    css::uno::Reference<css::datatransfer::dnd::XDragSourceListener> m_xListener;
-    GenericDropTarget* m_pTarget;
-public:
-    GenericDragSource() : WeakComponentImplHelper( m_aMutex ) {}
-
-    static GenericDragSource& get( const OUString& rDisplayName );
-
-    void registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget );
-
-    // XDragSource
-    virtual sal_Bool    SAL_CALL isDragImageSupported() override;
-    virtual sal_Int32   SAL_CALL getDefaultCursor( sal_Int8 dragAction ) override;
-    virtual void        SAL_CALL startDrag(
-                                     const datatransfer::dnd::DragGestureEvent& trigger,
-                                     sal_Int8 sourceActions, sal_Int32 cursor, sal_Int32 image,
-                                     const Reference< datatransfer::XTransferable >& transferable,
-                                     const Reference< datatransfer::dnd::XDragSourceListener >& listener
-                                     ) override;
-
-    // XInitialization
-    virtual void        SAL_CALL initialize( const Sequence< Any >& arguments ) override;
-
-    OUString SAL_CALL getImplementationName() override
-    { return "com.sun.star.datatransfer.dnd.VclGenericDragSource"; }
-
-    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
-    { return cppu::supportsService(this, ServiceName); }
-
-    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
-    { return getSupportedServiceNames_static(); }
-
-    static Sequence< OUString > getSupportedServiceNames_static()
-    {
-       return { "com.sun.star.datatransfer.dnd.GenericDragSource" };
-    }
-
-private:
-    static std::unordered_map< OUString, GenericDragSource* >& getInstances();
-};
-
-}
-
 std::unordered_map< OUString, GenericDragSource* >& GenericDragSource::getInstances()
 {
     static std::unordered_map< OUString, GenericDragSource* > aInstances;
@@ -331,7 +356,7 @@ GenericDragSource& GenericDragSource::get( const OUString& rDisplayName )
 
 void GenericDragSource::registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget )
 {
-    m_pTarget = pTarget;
+    m_pTarget.push_back(pTarget);
 }
 
 sal_Bool GenericDragSource::isDragImageSupported()
@@ -344,6 +369,41 @@ sal_Int32 GenericDragSource::getDefaultCursor( sal_Int8 )
     return 0;
 }
 
+void GenericDragSource::accept( sal_Int8 dragOperation )
+{
+    if( m_xListener.is() )
+    {
+        sal_Int8 nNewDragAction;
+        if( dragOperation & datatransfer::dnd::DNDConstants::ACTION_MOVE )
+            nNewDragAction = datatransfer::dnd::DNDConstants::ACTION_MOVE;
+        else if( dragOperation & datatransfer::dnd::DNDConstants::ACTION_COPY )
+            nNewDragAction = datatransfer::dnd::DNDConstants::ACTION_COPY;
+        else if( dragOperation & datatransfer::dnd::DNDConstants::ACTION_LINK )
+            nNewDragAction = datatransfer::dnd::DNDConstants::ACTION_LINK;
+        else
+            nNewDragAction = datatransfer::dnd::DNDConstants::ACTION_NONE;
+        //nNewDragAction &= m_nSourceActions;
+
+        // if( nNewDragAction != m_nTargetAcceptAction )
+        // {
+        //     setCursor( getDefaultCursor( nNewDragAction ), m_aDropWindow );
+        //     m_nTargetAcceptAction = nNewDragAction;
+        // }
+
+        com::sun::star::datatransfer::dnd::DragSourceDragEvent dsde;
+        dsde.Source             = static_cast< OWeakObject* >(this);
+        //dsde.DragSourceContext  = new DragSourceContext( m_aDropWindow, *this );
+        dsde.DragSource         = static_cast< XDragSource* >(this);
+        dsde.DropAction         = datatransfer::dnd::DNDConstants::ACTION_NONE;//m_nSourceActions;
+        dsde.UserAction         = datatransfer::dnd::DNDConstants::ACTION_NONE;//getUserDragAction();
+
+        css::uno::Reference< com::sun::star::datatransfer::dnd::XDragSourceListener > xListener( m_xListener );
+        // caution: do not change anything after this
+        if( xListener.is() )
+            xListener->dragOver( dsde );
+    }
+}
+
 void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent& event,
                                    sal_Int8 /*sourceActions*/, sal_Int32 /*cursor*/, sal_Int32 /*image*/,
                                    const Reference< datatransfer::XTransferable >& rTrans,
@@ -357,17 +417,17 @@ void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent& ev
         // m_pTarget
         // updateDragWindow( root_x, root_y, aRoot );
 
-        if( m_pTarget )
+        for(auto pTarget : m_pTarget)
         {
             com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent dtde;
-            dtde.Source                 = static_cast< OWeakObject* >( m_pTarget );
-            //dtde.Context                = new DropTargetDragContext( m_aCurrentDropWindow, *this );
-            dtde.LocationX              = 10;//nWinX;
-            dtde.LocationY              = 10;//nWinY;
-            dtde.DropAction             = datatransfer::dnd::DNDConstants::ACTION_COPY;
+            dtde.Source                 = static_cast< OWeakObject* >( pTarget );
+            dtde.Context                = new GenericDropTargetDragContext( this );
+            dtde.LocationX              = event.DragOriginX;
+            dtde.LocationY              = event.DragOriginY;
+            dtde.DropAction             = datatransfer::dnd::DNDConstants::ACTION_COPY; //??
             dtde.SourceActions          = datatransfer::dnd::DNDConstants::ACTION_COPY;
             dtde.SupportedDataFlavors   = rTrans->getTransferDataFlavors();
-            m_pTarget->dragEnter( dtde );
+            pTarget->dragEnter( dtde );
         }
 
         return;
diff --git a/vcl/source/window/dndlistenercontainer.cxx b/vcl/source/window/dndlistenercontainer.cxx
index b07be28dba16..d25fcd6f5337 100644
--- a/vcl/source/window/dndlistenercontainer.cxx
+++ b/vcl/source/window/dndlistenercontainer.cxx
@@ -258,7 +258,7 @@ sal_uInt32 DNDListenerContainer::fireDragEnterEvent( const Reference< XDropTarge
     // fire DropTargetDropEvent on all XDropTargetListeners
     OInterfaceContainerHelper *pContainer = rBHelper.getContainer( cppu::UnoType<XDropTargetListener>::get());
 
-    if( pContainer && m_bActive )
+    if( pContainer /*&& m_bActive*/ )
     {
         OInterfaceIteratorHelper aIterator( *pContainer );
 
@@ -448,20 +448,4 @@ void SAL_CALL DNDListenerContainer::dropComplete( sal_Bool success )
     }
 }
 
-/*
- *  GenericDropTargetDragContext
- */
-
-GenericDropTargetDragContext::GenericDropTargetDragContext()
-{
-}
-
-void GenericDropTargetDragContext::acceptDrag( sal_Int8 /*dragOperation*/ )
-{
-}
-
-void GenericDropTargetDragContext::rejectDrag()
-{
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit e2a64b3810968529655cc0c044164cbe1fc3cae8
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Fri Jun 25 09:18:37 2021 -0400
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sun Sep 12 21:31:40 2021 +0200

    lok: add generic class DragContext, DropContext
    
    In tiled rendering case, there is no exists a generic
    dummy to fire drag over and drag drop events.
    
    Change-Id: I1d334df8316a09950c11bc365f12f28f0352dfc6

diff --git a/vcl/inc/dndlistenercontainer.hxx b/vcl/inc/dndlistenercontainer.hxx
index 28339e7abeb8..627ff7bcd11c 100644
--- a/vcl/inc/dndlistenercontainer.hxx
+++ b/vcl/inc/dndlistenercontainer.hxx
@@ -29,6 +29,17 @@
 
 #include <vcl/unohelp2.hxx>
 
+class GenericDropTargetDragContext :
+    public ::cppu::WeakImplHelper<css::datatransfer::dnd::XDropTargetDragContext>
+{
+public:
+    GenericDropTargetDragContext();
+
+    // XDropTargetDragContext
+    virtual void SAL_CALL acceptDrag( sal_Int8 dragOperation ) override;
+    virtual void SAL_CALL rejectDrag() override;
+};
+
 class DNDListenerContainer final : public vcl::unohelper::MutexHelper,
                                 public ::cppu::WeakComponentImplHelper<
     css::datatransfer::dnd::XDragGestureRecognizer,
diff --git a/vcl/source/window/dndlistenercontainer.cxx b/vcl/source/window/dndlistenercontainer.cxx
index 5d430629c254..b07be28dba16 100644
--- a/vcl/source/window/dndlistenercontainer.cxx
+++ b/vcl/source/window/dndlistenercontainer.cxx
@@ -448,4 +448,20 @@ void SAL_CALL DNDListenerContainer::dropComplete( sal_Bool success )
     }
 }
 
+/*
+ *  GenericDropTargetDragContext
+ */
+
+GenericDropTargetDragContext::GenericDropTargetDragContext()
+{
+}
+
+void GenericDropTargetDragContext::acceptDrag( sal_Int8 /*dragOperation*/ )
+{
+}
+
+void GenericDropTargetDragContext::rejectDrag()
+{
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit a6053578456f83ad4debb06fcd60916faf0a35bd
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Sun Sep 12 21:28:12 2021 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sun Sep 12 21:28:12 2021 +0200

    Implement GenericDragSource::startDrag

diff --git a/vcl/source/components/dtranscomp.cxx b/vcl/source/components/dtranscomp.cxx
index 9b98e3bf0b18..6b5428caceea 100644
--- a/vcl/source/components/dtranscomp.cxx
+++ b/vcl/source/components/dtranscomp.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <sal/config.h>
+#include <sal/log.hxx>
 
 #include <comphelper/lok.hxx>
 #include <osl/mutex.hxx>
@@ -51,6 +52,56 @@ namespace vcl
 {
 namespace {
 
+class GenericDropTarget : public cppu::WeakComponentImplHelper<
+                                           datatransfer::dnd::XDropTarget,
+                                           XInitialization,
+                                           css::lang::XServiceInfo
+                                           >
+{
+    osl::Mutex m_aMutex;
+    ::std::vector< css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > > m_aListeners;
+public:
+    GenericDropTarget() : WeakComponentImplHelper( m_aMutex )
+    {}
+
+    // XInitialization
+    virtual void        SAL_CALL initialize( const Sequence< Any >& args ) override;
+
+    // XDropTarget
+    virtual void        SAL_CALL addDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
+    virtual void        SAL_CALL removeDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
+    virtual sal_Bool    SAL_CALL isActive() override;
+    virtual void        SAL_CALL setActive( sal_Bool active ) override;
+    virtual sal_Int8    SAL_CALL getDefaultActions() override;
+    virtual void        SAL_CALL setDefaultActions( sal_Int8 actions ) override;
+
+    void dragEnter( const com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent& dtde ) noexcept
+    {
+        osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex );
+        std::vector< Reference< com::sun::star::datatransfer::dnd::XDropTargetListener > > aListeners( m_aListeners );
+        aGuard.clear();
+
+        for (auto const& listener : aListeners)
+        {
+            listener->dragEnter(dtde);
+        }
+    }
+
+    OUString SAL_CALL getImplementationName() override
+    { return "com.sun.star.datatransfer.dnd.VclGenericDropTarget"; }
+
+    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
+    { return cppu::supportsService(this, ServiceName); }
+
+    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
+    { return getSupportedServiceNames_static(); }
+
+    static Sequence< OUString > getSupportedServiceNames_static()
+    {
+      return { "com.sun.star.datatransfer.dnd.GenericDropTarget" };
+    }
+};
+
 // generic implementation to satisfy SalInstance
 class GenericClipboard :
         public cppu::WeakComponentImplHelper<
@@ -212,9 +263,14 @@ class GenericDragSource : public cppu::WeakComponentImplHelper<
     osl::Mutex                          m_aMutex;
     css::uno::Reference<css::datatransfer::XTransferable> m_xTrans;
     css::uno::Reference<css::datatransfer::dnd::XDragSourceListener> m_xListener;
+    GenericDropTarget* m_pTarget;
 public:
     GenericDragSource() : WeakComponentImplHelper( m_aMutex ) {}
 
+    static GenericDragSource& get( const OUString& rDisplayName );
+
+    void registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget );
+
     // XDragSource
     virtual sal_Bool    SAL_CALL isDragImageSupported() override;
     virtual sal_Int32   SAL_CALL getDefaultCursor( sal_Int8 dragAction ) override;
@@ -241,10 +297,43 @@ public:
     {
        return { "com.sun.star.datatransfer.dnd.GenericDragSource" };
     }
+
+private:
+    static std::unordered_map< OUString, GenericDragSource* >& getInstances();
 };
 
 }
 
+std::unordered_map< OUString, GenericDragSource* >& GenericDragSource::getInstances()
+{
+    static std::unordered_map< OUString, GenericDragSource* > aInstances;
+    return aInstances;
+}
+
+GenericDragSource& GenericDragSource::get( const OUString& rDisplayName )
+{
+    osl::MutexGuard aGuard( *osl::Mutex::getGlobalMutex() );
+
+    OUString aDisplayName( rDisplayName );
+    if( aDisplayName.isEmpty() )
+        if (auto const env = getenv( "DISPLAY" )) {
+            aDisplayName = OStringToOUString( env, RTL_TEXTENCODING_ISO_8859_1 );
+        }
+    GenericDragSource* pInstance = nullptr;
+
+    std::unordered_map< OUString, GenericDragSource* >::iterator it = GenericDragSource::getInstances().find( aDisplayName );
+    if( it != GenericDragSource::getInstances().end() )
+        pInstance = it->second;
+    else pInstance = GenericDragSource::getInstances()[ aDisplayName ] = new GenericDragSource();
+
+    return *pInstance;
+}
+
+void GenericDragSource::registerDropTarget( /*::Window aXLIB_Window,*/ GenericDropTarget* pTarget )
+{
+    m_pTarget = pTarget;
+}
+
 sal_Bool GenericDragSource::isDragImageSupported()
 {
     return false;
@@ -255,7 +344,7 @@ sal_Int32 GenericDragSource::getDefaultCursor( sal_Int8 )
     return 0;
 }
 
-void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent&,
+void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent& event,
                                    sal_Int8 /*sourceActions*/, sal_Int32 /*cursor*/, sal_Int32 /*image*/,
                                    const Reference< datatransfer::XTransferable >& rTrans,
                                    const Reference< datatransfer::dnd::XDragSourceListener >& listener
@@ -264,6 +353,23 @@ void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent&,
     if (comphelper::LibreOfficeKit::isActive()) {
         m_xTrans = rTrans;
         m_xListener = listener;
+
+        // m_pTarget
+        // updateDragWindow( root_x, root_y, aRoot );
+
+        if( m_pTarget )
+        {
+            com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent dtde;
+            dtde.Source                 = static_cast< OWeakObject* >( m_pTarget );
+            //dtde.Context                = new DropTargetDragContext( m_aCurrentDropWindow, *this );
+            dtde.LocationX              = 10;//nWinX;
+            dtde.LocationY              = 10;//nWinY;
+            dtde.DropAction             = datatransfer::dnd::DNDConstants::ACTION_COPY;
+            dtde.SourceActions          = datatransfer::dnd::DNDConstants::ACTION_COPY;
+            dtde.SupportedDataFlavors   = rTrans->getTransferDataFlavors();
+            m_pTarget->dragEnter( dtde );
+        }
+
         return;
     }
 
@@ -273,8 +379,22 @@ void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent&,
     listener->dragDropEnd( aEv );
 }
 
-void GenericDragSource::initialize( const Sequence< Any >& )
+void GenericDragSource::initialize( const Sequence< Any >& arguments )
 {
+    OUString aDisplayName;
+
+    if( arguments.hasElements() )
+    {
+        css::uno::Reference< css::awt::XDisplayConnection > xConn;
+        arguments.getConstArray()[0] >>= xConn;
+        if( xConn.is() )
+        {
+            Any aIdentifier;
+            aIdentifier >>= aDisplayName;
+        }
+    }
+
+    getInstances()[aDisplayName] = this;
 }
 
 Sequence< OUString > DragSource_getSupportedServiceNames()
@@ -310,53 +430,27 @@ Reference< XInterface > DragSource_createInstance( const Reference< XMultiServic
 *   generic DragSource dummy
 */
 
-namespace {
-
-class GenericDropTarget : public cppu::WeakComponentImplHelper<
-                                           datatransfer::dnd::XDropTarget,
-                                           XInitialization,
-                                           css::lang::XServiceInfo
-                                           >
+void GenericDropTarget::initialize( const Sequence< Any >& arguments )
 {
-    osl::Mutex m_aMutex;
-public:
-    GenericDropTarget() : WeakComponentImplHelper( m_aMutex )
-    {}
-
-    // XInitialization
-    virtual void        SAL_CALL initialize( const Sequence< Any >& args ) override;
-
-    // XDropTarget
-    virtual void        SAL_CALL addDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
-    virtual void        SAL_CALL removeDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
-    virtual sal_Bool    SAL_CALL isActive() override;
-    virtual void        SAL_CALL setActive( sal_Bool active ) override;
-    virtual sal_Int8    SAL_CALL getDefaultActions() override;
-    virtual void        SAL_CALL setDefaultActions( sal_Int8 actions ) override;
-
-    OUString SAL_CALL getImplementationName() override
-    { return "com.sun.star.datatransfer.dnd.VclGenericDropTarget"; }
-
-    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override
-    { return cppu::supportsService(this, ServiceName); }
-
-    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override
-    { return getSupportedServiceNames_static(); }
+    if( arguments.getLength() <= 1 )
+        return;
 
-    static Sequence< OUString > getSupportedServiceNames_static()
+    OUString aDisplayName;
+    Reference< css::awt::XDisplayConnection > xConn;
+    arguments.getConstArray()[0] >>= xConn;
+    if( xConn.is() )
     {
-      return { "com.sun.star.datatransfer.dnd.GenericDropTarget" };
+        Any aIdentifier;
+        aIdentifier >>= aDisplayName;
+        SAL_DEBUG("DIS NAME DROP TARGET: " << aDisplayName);
     }
-};
-
-}
 
-void GenericDropTarget::initialize( const Sequence< Any >& )
-{
+    GenericDragSource::get(aDisplayName).registerDropTarget(this);
 }
 
-void GenericDropTarget::addDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& )
+void GenericDropTarget::addDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& listener)
 {
+    m_aListeners.push_back(listener);
 }
 
 void GenericDropTarget::removeDropTargetListener( const Reference< css::datatransfer::dnd::XDropTargetListener >& )
@@ -365,7 +459,7 @@ void GenericDropTarget::removeDropTargetListener( const Reference< css::datatran
 
 sal_Bool GenericDropTarget::isActive()
 {
-    return false;
+    return true;
 }
 
 void GenericDropTarget::setActive( sal_Bool )
commit c743f0d8789a28f09e5d53f97dabac0ac6d1c59f
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Fri Jun 25 09:30:35 2021 -0400
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sun Sep 12 16:17:22 2021 +0200

    lok: add private member transfer data to GenericDragSource
    
    In tiled rendering case, the class GenericDragSource is
    created by default, but it does not hold the transfer data
    and it cancels the drag & drop.
    
    Change-Id: Ib96f426a42e1fdae823e2412dc5280d70b59c44f

diff --git a/vcl/source/components/dtranscomp.cxx b/vcl/source/components/dtranscomp.cxx
index bd89a1404e01..9b98e3bf0b18 100644
--- a/vcl/source/components/dtranscomp.cxx
+++ b/vcl/source/components/dtranscomp.cxx
@@ -210,6 +210,8 @@ class GenericDragSource : public cppu::WeakComponentImplHelper<
             >
 {
     osl::Mutex                          m_aMutex;
+    css::uno::Reference<css::datatransfer::XTransferable> m_xTrans;
+    css::uno::Reference<css::datatransfer::dnd::XDragSourceListener> m_xListener;
 public:
     GenericDragSource() : WeakComponentImplHelper( m_aMutex ) {}
 
@@ -255,10 +257,16 @@ sal_Int32 GenericDragSource::getDefaultCursor( sal_Int8 )
 
 void GenericDragSource::startDrag( const datatransfer::dnd::DragGestureEvent&,
                                    sal_Int8 /*sourceActions*/, sal_Int32 /*cursor*/, sal_Int32 /*image*/,
-                                   const Reference< datatransfer::XTransferable >&,
+                                   const Reference< datatransfer::XTransferable >& rTrans,
                                    const Reference< datatransfer::dnd::XDragSourceListener >& listener
                                    )
 {
+    if (comphelper::LibreOfficeKit::isActive()) {
+        m_xTrans = rTrans;
+        m_xListener = listener;
+        return;
+    }
+
     datatransfer::dnd::DragSourceDropEvent aEv;
     aEv.DropAction = datatransfer::dnd::DNDConstants::ACTION_COPY;
     aEv.DropSuccess = false;
commit c0ed4153f271df2dc508090e31d2ec77a2380f06
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Sat Sep 11 21:06:17 2021 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Sat Sep 11 21:06:17 2021 +0200

    lok dnd: use global vcl handler for mouse events
    
    Change-Id: I895eb9b931635cc10a6a114e6e3b723769204d7c

diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index 364490a479ac..2bd4f809ac30 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -661,7 +661,7 @@ namespace
             pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
             break;
         case VclEventId::WindowMouseButtonDown:
-            pLOKEv->mpWindow->LogicMouseButtonDown(pLOKEv->maMouseEvent);
+            Application::PostMouseEvent(VclEventId::WindowMouseButtonDown, pLOKEv->mpWindow, &(pLOKEv->maMouseEvent));
             // Invoke the context menu
             if (pLOKEv->maMouseEvent.GetButtons() & MOUSE_RIGHT)
             {
@@ -670,7 +670,7 @@ namespace
             }
             break;
         case VclEventId::WindowMouseButtonUp:
-            pLOKEv->mpWindow->LogicMouseButtonUp(pLOKEv->maMouseEvent);
+            Application::PostMouseEvent(VclEventId::WindowMouseButtonUp, pLOKEv->mpWindow, &(pLOKEv->maMouseEvent));
 
             // sometimes MouseButtonDown captures mouse and starts tracking, and VCL
             // will not take care of releasing that with tiled rendering
@@ -679,7 +679,7 @@ namespace
 
             break;
         case VclEventId::WindowMouseMove:
-            pLOKEv->mpWindow->LogicMouseMove(pLOKEv->maMouseEvent);
+            Application::PostMouseEvent(VclEventId::WindowMouseMove, pLOKEv->mpWindow, &(pLOKEv->maMouseEvent));
             break;
         case VclEventId::ExtTextInput:
         case VclEventId::EndExtTextInput:
commit 591dc3147a8e6d8a76392258d7b6dfca01dfd801
Author:     Tor Lillqvist <tml at collabora.com>
AuthorDate: Wed Sep 8 12:36:37 2021 +0300
Commit:     Tor Lillqvist <tml at iki.fi>
CommitDate: Wed Sep 8 12:45:51 2021 +0300

    Revert "Tentative fix for crash in the iOS app"
    
    The root cause for the problem was fixed elsewhere by
    0f65b4b6f33891a724bee5356aa5549c76fa0ce3 (and back-ports).
    
    This reverts commit 9e4c72ec7ea83aa0d023a90a6b02ddb17c6b2d74
    
    Change-Id: I0167846d2aaeacc66657b4203d0118b7847679ba

diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 02c15254ad0a..910bbe6b69f5 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -651,7 +651,7 @@ IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void)
         mpWindowImpl->mpFrameData->maPaintIdle.Stop();
         return;
     }
-#ifndef IOS
+
     comphelper::ProfileZone aZone("VCL idle re-paint");
 
     // save paint events until layout is done
@@ -671,7 +671,6 @@ IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void)
     {
         ImplCallOverlapPaint();
     }
-#endif
 }
 
 IMPL_LINK_NOARG(Window, ImplHandleResizeTimerHdl, Timer *, void)
commit c7451989984cc96e8d195dbe026d803bc462c1f5
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Thu Jul 22 22:07:42 2021 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Sep 8 10:33:56 2021 +0200

    avoid painting to windows in LOK mode
    
    There are no actual toplevel windows in that case, and tiled rendering
    is used to paint whenever any painting is needed. The painting is
    already made useless by using (1,1)-sized Cairo surfaces for windows
    (SvpSalFrame::SetPosSize() calling SvpSalFrame::GetSurfaceFrameSize()),
    this should avoid it altogether.
    
    It is possible this commit causes regressions if some code relies
    on Paint() getting called at specific times (such as 2f961c7a811bdff66
    doing relayout there, causing geometry changes), but those should be
    fixed.
    
    Change-Id: Ie4be16301fdddb7c1b0350e6458178efca88aa4d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119270
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx
index beba53b67078..4bb6ca2d9a5f 100644
--- a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx
+++ b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx
@@ -244,8 +244,8 @@ void LOKitSearchTest::testSearchAllSelections()
     lcl_search("third", /*bFindAll=*/true);
     // Make sure this is found on the 3rd slide.
     CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), mpCallbackRecorder->m_nPart);
-
-    CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(1), mpCallbackRecorder->m_aSelection.size());
+    // This was 1: only the first match was highlighted.
+    CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(2), mpCallbackRecorder->m_aSelection.size());
 }
 
 void LOKitSearchTest::testSearchAllNotifications()
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 95640db261bb..02c15254ad0a 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -645,6 +645,12 @@ void Window::ImplCallOverlapPaint()
 
 IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void)
 {
+    if (comphelper::LibreOfficeKit::isActive())
+    {
+        // Tiled rendering is used, idle paint does not need to do anything.
+        mpWindowImpl->mpFrameData->maPaintIdle.Stop();
+        return;
+    }
 #ifndef IOS
     comphelper::ProfileZone aZone("VCL idle re-paint");
 
@@ -664,9 +670,6 @@ IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void)
     else if ( mpWindowImpl->mbReallyVisible )
     {
         ImplCallOverlapPaint();
-        if (comphelper::LibreOfficeKit::isActive() &&
-            mpWindowImpl->mpFrameData->maPaintIdle.IsActive())
-            mpWindowImpl->mpFrameData->maPaintIdle.Stop();
     }
 #endif
 }
@@ -688,6 +691,12 @@ IMPL_LINK_NOARG(Window, ImplHandleResizeTimerHdl, Timer *, void)
 
 void Window::ImplInvalidateFrameRegion( const vcl::Region* pRegion, InvalidateFlags nFlags )
 {
+    if (comphelper::LibreOfficeKit::isActive())
+    {
+        // Tiled rendering is used, so there's no need to invalidate for idle painting.
+        return;
+    }
+
     // set PAINTCHILDREN for all parent windows till the first OverlapWindow
     if ( !ImplIsOverlapWindow() )
     {
@@ -1293,6 +1302,12 @@ void Window::PaintImmediately()
     if (!mpWindowImpl)
         return;
 
+    if (comphelper::LibreOfficeKit::isActive())
+    {
+        // Tiled rendering is used, direct paint does not need to do anything.
+        return;
+    }
+
     if ( mpWindowImpl->mpBorderWindow )
     {
         mpWindowImpl->mpBorderWindow->PaintImmediately();
commit 092c5f5ae9e8e1975ab1595f782fe10a2739a4d7
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Sep 7 13:02:14 2021 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Sep 8 10:33:39 2021 +0200

    patch SdrPageWindow in SdXImpressDocument::paintTile()
    
    This is based on commit 424312aa99307da9f0ee60ea6e3213b2b3dc26b4
    amd I don't quite understand everything that happens, because
    the drawing layer classes have all kinds of comments except those
    that would explain the purpose or usage of the classes. My
    understanding is that drawing layer keeps all kinds of state
    in Sdr* classes and when drawing it tries to find those based
    on the OutputDevice. But since tiled drawing uses its own
    VirtualDevice for the drawing, the search fails and a temporary state
    is used that's always setup up and cleared again. Which is wasteful,
    and not having the state around also means that e.g. when clicking
    a checkbox for impress master background, with idle painting
    disabled there's nothing to react to the event and cause a tile
    repaint.
    
    Change-Id: Ic9036680c628d67615a82dcc4f585ab827b91525
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121779
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index a246aab75b34..f5d3b51c72d4 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -58,6 +58,8 @@
 #include <svx/svdundo.hxx>
 #include <svx/unoapi.hxx>
 #include <svx/unofill.hxx>
+#include <svx/sdrpagewindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
 #include <editeng/flditem.hxx>
 #include <editeng/fontitem.hxx>
 #include <toolkit/awt/vclxdevice.hxx>
@@ -2220,6 +2222,25 @@ void SdXImpressDocument::paintTile( VirtualDevice& rDevice,
     if (!pViewSh)
         return;
 
+    // Setup drawing layer to work properly. Since we use a custom VirtualDevice
+    // for the drawing, SdrPaintView::BeginCompleteRedraw() will call FindPaintWindow()
+    // unsuccessfully and use a temporary window that doesn't keep state. So patch
+    // the existing SdrPageWindow to use a temporary, and this way the state will be kept.
+    // Well, at least that's how I understand it based on Writer's RenderContextGuard,
+    // as the drawing layer classes lack documentation.
+    SdrPageWindow* patchedPageWindow = nullptr;
+    SdrPaintWindow* previousPaintWindow = nullptr;
+    std::unique_ptr<SdrPaintWindow> temporaryPaintWindow;
+    if(SdrView* pDrawView = pViewSh->GetDrawView())
+    {
+        if(SdrPageView* pSdrPageView = pDrawView->GetSdrPageView())
+        {
+            patchedPageWindow = pSdrPageView->FindPageWindow(*getDocWindow());
+            temporaryPaintWindow.reset(new SdrPaintWindow(*pDrawView, rDevice));
+            previousPaintWindow = patchedPageWindow->patchPaintWindow(*temporaryPaintWindow);
+        }
+    }
+
     // Scaling. Must convert from pixels to twips. We know
     // that VirtualDevices use a DPI of 96.
     // We specifically calculate these scales first as we're still
@@ -2257,6 +2278,9 @@ void SdXImpressDocument::paintTile( VirtualDevice& rDevice,
 
     LokChartHelper::PaintAllChartsOnTile(rDevice, nOutputWidth, nOutputHeight,
                                          nTilePosX, nTilePosY, nTileWidth, nTileHeight);
+
+    if(patchedPageWindow != nullptr)
+        patchedPageWindow->unpatchPaintWindow(previousPaintWindow);
 }
 
 void SdXImpressDocument::selectPart(int nPart, int nSelect)
commit 7280d3b62c0326554a0d2b14f218b5282562b2cf
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Jun 1 11:56:32 2021 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Sep 8 10:33:21 2021 +0200

    do not use delayed layout in TitledDockingWindow
    
    The layout is only performed in Paint(), so if something uses
    geometry before that happens (may happen with tiled rendering),
    then is not up to date. I don't see why delay it anyway, there
    seems to be usually just one resize, and only during init I see
    two of them, which can presumably be fixed if needed.
    
    Change-Id: I7133f3c6be41bc6480f86d1053b455d42c40b9ba
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116529
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>
    (cherry picked from commit 2f961c7a811bdff66a94c20573798d58b565195a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120242
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>

diff --git a/include/sfx2/titledockwin.hxx b/include/sfx2/titledockwin.hxx
index 976c4bb9f665..cb2d73542bac 100644
--- a/include/sfx2/titledockwin.hxx
+++ b/include/sfx2/titledockwin.hxx
@@ -73,7 +73,6 @@ namespace sfx2
         DECL_LINK( OnToolboxItemSelected, ToolBox*, void );
 
         void    impl_layout();
-        void    impl_scheduleLayout();
 
     private:
         OUString            m_sTitle;
@@ -86,11 +85,6 @@ namespace sfx2
         */
         SvBorder            m_aBorder;
 
-        /** Remember that a layout is pending, i.e. Resize() has been called
-            since the last Paint().
-        */
-        bool                m_bLayoutPending;
-
         /** Height of the title bar.  Calculated in impl_layout().
         */
         int                 m_nTitleBarHeight;
diff --git a/sfx2/source/dialog/titledockwin.cxx b/sfx2/source/dialog/titledockwin.cxx
index 7483ee8d193d..a56530ed8924 100644
--- a/sfx2/source/dialog/titledockwin.cxx
+++ b/sfx2/source/dialog/titledockwin.cxx
@@ -39,7 +39,6 @@ namespace sfx2
         ,m_aToolbox( VclPtr<ToolBox>::Create(this) )
         ,m_aContentWindow( VclPtr<vcl::Window>::Create(this, WB_DIALOGCONTROL) )
         ,m_aBorder( 3, 1, 3, 3 )
-        ,m_bLayoutPending( false )
         ,m_nTitleBarHeight(0)
     {
         SetBackground( Wallpaper() );
@@ -83,20 +82,12 @@ namespace sfx2
     void TitledDockingWindow::Resize()
     {
         SfxDockingWindow::Resize();
-        impl_scheduleLayout();
-    }
-
-
-    void TitledDockingWindow::impl_scheduleLayout()
-    {
-        m_bLayoutPending = true;
+        impl_layout();
     }
 
 
     void TitledDockingWindow::impl_layout()
     {
-        m_bLayoutPending = false;
-
         m_aToolbox->ShowItem( 1, !IsFloatingMode() );
 
         const Size aToolBoxSize( m_aToolbox->CalcWindowSizePixel() );
@@ -143,9 +134,6 @@ namespace sfx2
     {
         const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
 
-        if (m_bLayoutPending)
-            impl_layout();
-
         SfxDockingWindow::Paint(rRenderContext, i_rArea);
 
         rRenderContext.Push(PushFlags::FONT | PushFlags::FILLCOLOR | PushFlags::LINECOLOR);
@@ -240,7 +228,7 @@ namespace sfx2
         switch ( i_nType )
         {
             case StateChangedType::InitShow:
-                impl_scheduleLayout();
+                impl_layout();
                 break;
             default:;
         }
@@ -260,7 +248,7 @@ namespace sfx2
             case DataChangedEventType::FONTS:
             case DataChangedEventType::FONTSUBSTITUTION:
             {
-                impl_scheduleLayout();
+                impl_layout();
                 Invalidate();
             }
             break;
commit e2ef885007bcfe7a14c57865e4d3144028f59105
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Mon Aug 9 12:44:40 2021 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Sep 8 10:32:03 2021 +0200

    avoid repeated writer layout calls with tiled rendering
    
    My next commit will disable idle paints for tile rendering, as they
    do nothing in that case (or at least that should be the case).
    But this code causes an infinite loop with idle layout timer,
    because painting resets the SwViewShellImp paint region, which is
    not performed if painting is done only later by idle rendering.
    
    Change-Id: Ic401f16254aade02ddb3e4faffd99f0ce29d4df4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120240
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx
index 87b76cc6b4ca..c8924882b5fd 100644
--- a/sw/source/core/layout/layact.cxx
+++ b/sw/source/core/layout/layact.cxx
@@ -2230,7 +2230,16 @@ SwLayIdle::SwLayIdle( SwRootFrame *pRt, SwViewShellImp *pI ) :
         {
             --rSh.mnStartAction;
 
-            if ( rSh.Imp()->GetRegion() )
+            // When using tiled rendering, idle painting is disabled and paints are done
+            // only later by tiled rendering. But paints call SwViewShellImp::DelRegion()
+            // to reset this GetRegion(), and if it's done too late,
+            // SwTiledRenderingTest::testTablePaintInvalidate() will end up in an infinite
+            // loop, because the idle layout will call this code repeatedly, because there
+            // will be no idle paints to reset GetRegion().
+            // This code dates back to the initial commit, and I find its purpose unclear,
+            // so I'm still leaving it here in case it turns out it serves a purpose.
+            static const bool blockOnRepaints = true;
+            if (!blockOnRepaints && rSh.Imp()->GetRegion())
                 bActions = true;
             else
             {
commit eeda6c57b14838e4a7381b5cd89505842acbf507
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Jul 6 04:10:39 2021 +0200
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Sep 8 10:31:48 2021 +0200

    explicitly send LOK_CALLBACK_TEXT_SELECTION at the end of FindAll
    
    It normally gets emitted by SwSelPaintRects::Show(), called from
    paiting, but Online uses tiled painting and so doesn't need normal
    painting.
    
    Change-Id: If276ce176f4e65b4efe3d053941b83917df2ae1e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119268
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/sw/source/uibase/uiview/viewsrch.cxx b/sw/source/uibase/uiview/viewsrch.cxx
index a0cd2967fad5..8db4ff0134bb 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -34,6 +34,7 @@
 #include <svl/srchitem.hxx>
 #include <sfx2/bindings.hxx>
 #include <sfx2/request.hxx>
+#include <sfx2/lokhelper.hxx>
 #include <svx/srchdlg.hxx>
 #include <edtwin.hxx>
 #include <swmodule.hxx>
@@ -94,6 +95,7 @@ static void lcl_emitSearchResultCallbacks(SvxSearchItem const * pSearchItem, SwW
         return;
 
     std::vector<OString> aMatches;
+    OString textSelection;
     for (SwPaM& rPaM : pPaM->GetRingContainer())
     {
         if (SwShellCursor* pShellCursor = dynamic_cast<SwShellCursor*>(&rPaM))
@@ -109,6 +111,7 @@ static void lcl_emitSearchResultCallbacks(SvxSearchItem const * pSearchItem, SwW
             }
             OString sRect = comphelper::string::join("; ", aRect);
             aMatches.push_back(sRect);
+            textSelection = sRect;
         }
     }
     boost::property_tree::ptree aTree;
@@ -121,6 +124,12 @@ static void lcl_emitSearchResultCallbacks(SvxSearchItem const * pSearchItem, SwW
     OString aPayload = aStream.str().c_str();
 
     pWrtShell->GetSfxViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_SEARCH_RESULT_SELECTION, aPayload.getStr());
+
+    if(bHighlightAll)
+    {   // FindAll disables this during find, do it once when done.
+        pWrtShell->GetSfxViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_TEXT_SELECTION, textSelection.getStr());
+        SfxLokHelper::notifyOtherViews(pWrtShell->GetSfxViewShell(), LOK_CALLBACK_TEXT_VIEW_SELECTION, "selection", textSelection);
+    }
 }
 
 void SwView::ExecSearch(SfxRequest& rReq)
commit 5ad6bfb54ffec15fe311ed990aa1518979b8f086
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Sat Sep 4 22:00:51 2021 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Sep 7 11:17:58 2021 +0200

    tdf#105689: fix path management to retrieve Emoji toolbar button
    
    On Windows console logs show:
    warn:sfx:7060:6444:sfx2/source/control/emojiview.cxx:105: Emoji config data is empty
    
    Change-Id: I85baf2fedc20ff855183147e9a178bb048ac75ce
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121653
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
    (cherry picked from commit 37357e3cae749c54f1b9645c6670240baf860bc4)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121564
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
    Signed-off-by: Xisco Fauli <xiscofauli at libreoffice.org>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121711
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sfx2/source/control/emojiview.cxx b/sfx2/source/control/emojiview.cxx
index 63aa9ac602c9..ee902a9da207 100644
--- a/sfx2/source/control/emojiview.cxx
+++ b/sfx2/source/control/emojiview.cxx
@@ -7,6 +7,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
+#include <osl/file.hxx>
 #include <emojiview.hxx>
 #include <emojiviewitem.hxx>
 #include <rtl/bootstrap.hxx>
@@ -64,9 +65,12 @@ EmojiView::EmojiView(std::unique_ptr<weld::ScrolledWindow> xWindow)
     : ThumbnailView(std::move(xWindow), nullptr)
 {
     // locate json data file
-    OUString sPath("$BRAND_BASE_DIR/" LIBO_SHARE_FOLDER "/emojiconfig/emoji.json");
-    rtl::Bootstrap::expandMacros(sPath);
-    std::string strPath = OUStringToOString(sPath.copy(strlen("file://")), RTL_TEXTENCODING_UTF8).getStr();
+    OUString aURL("$BRAND_BASE_DIR/" LIBO_SHARE_FOLDER "/emojiconfig/emoji.json");
+    rtl::Bootstrap::expandMacros(aURL);
+
+    OUString aPath;
+    osl::FileBase::getSystemPathFromFileURL(aURL, aPath);
+    std::string strPath = OUStringToOString(aPath, RTL_TEXTENCODING_UTF8).getStr();
 
     std::ifstream file(strPath);
     if(!file.is_open())
commit ef953367b6776716a3ddb5af6aafe35b8d28a5c2
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Sep 1 10:33:09 2021 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Sep 7 11:17:58 2021 +0200

    tdf#138519 use gtk_adjustment_set_value instead of gtk_spin_button_set_value
    
    for FormattedSpinButton because the latter doesn't change the value if
    the new value is less than an EPSILON diff of 1e-10 from the old value
    
    Change-Id: I410ceec28e1855e53de8c2982e540c612578bf54
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121439
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 8254fdbd0578..cd3d55663742 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -13198,7 +13198,10 @@ public:
             return;
         m_bSyncingValue = true;
         disable_notify_events();
-        gtk_spin_button_set_value(m_pButton, m_pFormatter->GetValue());
+        // tdf#138519 use gtk_adjustment_set_value instead of gtk_spin_button_set_value because the
+        // latter doesn't change the value if the new value is less than an EPSILON diff of 1e-10
+        // from the old value
+        gtk_adjustment_set_value(gtk_spin_button_get_adjustment(m_pButton), m_pFormatter->GetValue());
         enable_notify_events();
         m_bSyncingValue = false;
     }
commit 0afa30c52c9c7a946163fa33c27ba90a599da6a5
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Wed Sep 1 11:18:27 2021 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Sep 7 11:17:57 2021 +0200

    update credits
    
    Change-Id: I8fc0e8085dd647f3677554084a0de139a71e4367
    (cherry picked from commit 2cfcc8d7c988631333998a78b4b40cb17b025fe7)

diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt
index 4cf5c381c1f6..50d3e077a4fb 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1074,7 +1074,7 @@
    </draw:frame>
    <text:section text:style-name="Sect1" text:name="BgContainer">
     <text:p text:style-name="P16">Credits</text:p>
-    <text:p text:style-name="Text_20_body">1690 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2021-08-06 11:42:16.</text:p>
+    <text:p text:style-name="Text_20_body">1696 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2021-08-13 14:11:24.</text:p>
     <text:p text:style-name="Text_20_body"><text:span text:style-name="T1">*</text:span> marks developers whose first contributions happened after 2010-09-28.</text:p>
     <text:h text:style-name="Heading_20_2" text:outline-level="2">Developers committing code since 2010-09-28</text:h>
     <table:table table:name="Tabelle1" table:style-name="Tabelle1">
@@ -1082,7 +1082,7 @@
      <table:table-column table:style-name="Tabelle1.B"/>
      <table:table-column table:style-name="Tabelle1.C"/>
      <table:table-column table:style-name="Tabelle1.D"/>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ruediger Timm<text:line-break/>Commits: 82464<text:line-break/>Joined: 2000-10-10</text:p>
       </table:table-cell>
@@ -1090,13 +1090,13 @@
        <text:p text:style-name="Table_20_Contents">Kurt Zenker<text:line-break/>Commits: 31752<text:line-break/>Joined: 2000-09-25</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 31314<text:line-break/>Joined: 2000-10-10</text:p>
+       <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 31495<text:line-break/>Joined: 2000-10-10</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Oliver Bolte<text:line-break/>Commits: 31008<text:line-break/>Joined: 2000-09-19</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Jens-Heiner Rechtien [hr]<text:line-break/>Commits: 28805<text:line-break/>Joined: 2000-09-18</text:p>
       </table:table-cell>
@@ -1104,27 +1104,27 @@
        <text:p text:style-name="Table_20_Contents">Vladimir Glazunov<text:line-break/>Commits: 25434<text:line-break/>Joined: 2000-12-04</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 19177<text:line-break/>Joined: 2000-10-04</text:p>
+       <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 19212<text:line-break/>Joined: 2000-10-04</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 14660<text:line-break/>Joined: <text:span text:style-name="T2">2011-12-12</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 14779<text:line-break/>Joined: <text:span text:style-name="T2">2011-12-12</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ivo Hinkelmann<text:line-break/>Commits: 9480<text:line-break/>Joined: 2002-09-09</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Tor Lillqvist<text:line-break/>Commits: 8992<text:line-break/>Joined: 2010-03-23</text:p>
+       <text:p text:style-name="Table_20_Contents">Tor Lillqvist<text:line-break/>Commits: 8994<text:line-break/>Joined: 2010-03-23</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 8567<text:line-break/>Joined: 2010-07-29</text:p>
+       <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 8586<text:line-break/>Joined: 2010-07-29</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Michael Stahl<text:line-break/>Commits: 7710<text:line-break/>Joined: 2008-06-16</text:p>
+       <text:p text:style-name="Table_20_Contents">Michael Stahl<text:line-break/>Commits: 7721<text:line-break/>Joined: 2008-06-16</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Kohei Yoshida<text:line-break/>Commits: 5571<text:line-break/>Joined: 2009-06-19</text:p>
       </table:table-cell>
@@ -1135,26 +1135,26 @@
        <text:p text:style-name="Table_20_Contents">Frank Schoenheit [fs]<text:line-break/>Commits: 5008<text:line-break/>Joined: 2000-09-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 4941<text:line-break/>Joined: 2000-10-11</text:p>
+       <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 4962<text:line-break/>Joined: 2000-10-11</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 3646<text:line-break/>Joined: 2009-11-12</text:p>
+       <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 3647<text:line-break/>Joined: 2009-11-12</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 3147<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-04</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 3156<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-04</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Hans-Joachim Lankenau<text:line-break/>Commits: 3007<text:line-break/>Joined: 2000-09-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 2866<text:line-break/>Joined: <text:span text:style-name="T2">2012-06-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andrea Gelmini<text:line-break/>Commits: 2882<text:line-break/>Joined: <text:span text:style-name="T2">2014-10-30</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andrea Gelmini<text:line-break/>Commits: 2862<text:line-break/>Joined: <text:span text:style-name="T2">2014-10-30</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 2877<text:line-break/>Joined: <text:span text:style-name="T2">2012-06-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ocke Janssen [oj]<text:line-break/>Commits: 2850<text:line-break/>Joined: 2000-09-20</text:p>
@@ -1166,21 +1166,21 @@
        <text:p text:style-name="Table_20_Contents">Mathias Bauer<text:line-break/>Commits: 2580<text:line-break/>Joined: 2000-09-20</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Oliver Specht<text:line-break/>Commits: 2549<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Luboš Luňák<text:line-break/>Commits: 2505<text:line-break/>Joined: 2010-09-21</text:p>
+       <text:p text:style-name="Table_20_Contents">Luboš Luňák<text:line-break/>Commits: 2534<text:line-break/>Joined: 2010-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Michael Meeks<text:line-break/>Commits: 2462<text:line-break/>Joined: 2004-08-05</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 2447<text:line-break/>Joined: 2009-10-14</text:p>
+       <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 2448<text:line-break/>Joined: 2009-10-14</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Norbert Thiebaud<text:line-break/>Commits: 2176<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p>
       </table:table-cell>
@@ -1194,23 +1194,23 @@
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 1953<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-02</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Christian Lippka<text:line-break/>Commits: 1805<text:line-break/>Joined: 2000-09-25</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Mike Kaganski<text:line-break/>Commits: 1761<text:line-break/>Joined: <text:span text:style-name="T2">2015-04-26</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Mike Kaganski<text:line-break/>Commits: 1800<text:line-break/>Joined: <text:span text:style-name="T2">2015-04-26</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matúš Kukan<text:line-break/>Commits: 1712<text:line-break/>Joined: <text:span text:style-name="T2">2011-04-06</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Armin Le Grand (Allotropia)<text:line-break/>Commits: 1501<text:line-break/>Joined: 2000-09-25</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Xisco Fauli<text:line-break/>Commits: 1511<text:line-break/>Joined: <text:span text:style-name="T2">2011-02-06</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Xisco Fauli<text:line-break/>Commits: 1488<text:line-break/>Joined: <text:span text:style-name="T2">2011-02-06</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Armin Le Grand (Allotropia)<text:line-break/>Commits: 1502<text:line-break/>Joined: 2000-09-25</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Takeshi Abe<text:line-break/>Commits: 1486<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-08</text:span></text:p>
@@ -1222,26 +1222,26 @@
        <text:p text:style-name="Table_20_Contents">Thorsten Behrens<text:line-break/>Commits: 1440<text:line-break/>Joined: 2001-04-25</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Olivier Hallot<text:line-break/>Commits: 1363<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Olivier Hallot<text:line-break/>Commits: 1380<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-25</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Fridrich Štrba<text:line-break/>Commits: 1338<text:line-break/>Joined: 2007-02-22</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Thomas Lange [tl]<text:line-break/>Commits: 1310<text:line-break/>Joined: 2000-09-22</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 1317<text:line-break/>Joined: <text:span text:style-name="T2">2013-02-25</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 1300<text:line-break/>Joined: <text:span text:style-name="T2">2013-02-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Thomas Lange [tl]<text:line-break/>Commits: 1310<text:line-break/>Joined: 2000-09-22</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Niklas Nebel<text:line-break/>Commits: 1296<text:line-break/>Joined: 2000-09-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>andreas kainz<text:line-break/>Commits: 1224<text:line-break/>Joined: <text:span text:style-name="T2">2015-03-18</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>andreas kainz<text:line-break/>Commits: 1225<text:line-break/>Joined: <text:span text:style-name="T2">2015-03-18</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tamás Zolnai<text:line-break/>Commits: 1208<text:line-break/>Joined: <text:span text:style-name="T2">2012-08-06</text:span></text:p>
@@ -1250,35 +1250,35 @@
        <text:p text:style-name="Table_20_Contents">Daniel Rentz [dr]<text:line-break/>Commits: 1206<text:line-break/>Joined: 2000-09-28</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 1051<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-15</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Gabor Kelemen<text:line-break/>Commits: 1030<text:line-break/>Joined: <text:span text:style-name="T2">2013-06-18</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Gabor Kelemen<text:line-break/>Commits: 1033<text:line-break/>Joined: <text:span text:style-name="T2">2013-06-18</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Jan-Marek Glogowski<text:line-break/>Commits: 996<text:line-break/>Joined: <text:span text:style-name="T2">2013-11-14</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Jan-Marek Glogowski<text:line-break/>Commits: 1001<text:line-break/>Joined: <text:span text:style-name="T2">2013-11-14</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Samuel Mehrbrodt<text:line-break/>Commits: 984<text:line-break/>Joined: <text:span text:style-name="T2">2011-06-08</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Petr Mladek<text:line-break/>Commits: 958<text:line-break/>Joined: 2006-10-03</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Noel Power<text:line-break/>Commits: 950<text:line-break/>Joined: 2002-09-24</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Szymon Kłos<text:line-break/>Commits: 951<text:line-break/>Joined: <text:span text:style-name="T2">2014-03-22</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Szymon Kłos<text:line-break/>Commits: 932<text:line-break/>Joined: <text:span text:style-name="T2">2014-03-22</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Noel Power<text:line-break/>Commits: 950<text:line-break/>Joined: 2002-09-24</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Christian Lohmaier<text:line-break/>Commits: 931<text:line-break/>Joined: 2008-06-01</text:p>
+       <text:p text:style-name="Table_20_Contents">Christian Lohmaier<text:line-break/>Commits: 933<text:line-break/>Joined: 2008-06-01</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Kai Ahrens<text:line-break/>Commits: 909<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
@@ -1292,7 +1292,7 @@
        <text:p text:style-name="Table_20_Contents">Malte Timmermann [mt]<text:line-break/>Commits: 864<text:line-break/>Joined: 2000-10-10</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Sven Jacobi<text:line-break/>Commits: 850<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
@@ -1306,7 +1306,7 @@
        <text:p text:style-name="Table_20_Contents">Mikhail Voytenko<text:line-break/>Commits: 793<text:line-break/>Joined: 2001-01-16</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Maxim Monastirsky<text:line-break/>Commits: 779<text:line-break/>Joined: <text:span text:style-name="T2">2013-10-27</text:span></text:p>
       </table:table-cell>
@@ -1317,12 +1317,12 @@
        <text:p text:style-name="Table_20_Contents">Joachim Lingner<text:line-break/>Commits: 745<text:line-break/>Joined: 2000-10-05</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andrzej Hunt<text:line-break/>Commits: 743<text:line-break/>Joined: <text:span text:style-name="T2">2012-03-27</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Katarina Behrens<text:line-break/>Commits: 743<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-13</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Katarina Behrens<text:line-break/>Commits: 742<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-13</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andrzej Hunt<text:line-break/>Commits: 743<text:line-break/>Joined: <text:span text:style-name="T2">2012-03-27</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Andre Fischer<text:line-break/>Commits: 730<text:line-break/>Joined: 2001-02-06</text:p>
@@ -1334,21 +1334,21 @@
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Zdeněk Crhonek<text:line-break/>Commits: 714<text:line-break/>Joined: <text:span text:style-name="T2">2016-05-19</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Joerg Skottke [jsk]<text:line-break/>Commits: 678<text:line-break/>Joined: 2008-06-17</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Johnny_M<text:line-break/>Commits: 690<text:line-break/>Joined: <text:span text:style-name="T2">2016-05-12</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Johnny_M<text:line-break/>Commits: 669<text:line-break/>Joined: <text:span text:style-name="T2">2016-05-12</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Joerg Skottke [jsk]<text:line-break/>Commits: 678<text:line-break/>Joined: 2008-06-17</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Joseph Powers<text:line-break/>Commits: 658<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-15</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>László Németh<text:line-break/>Commits: 664<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>László Németh<text:line-break/>Commits: 656<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Joseph Powers<text:line-break/>Commits: 658<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-15</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Jens Carl<text:line-break/>Commits: 654<text:line-break/>Joined: <text:span text:style-name="T2">2014-05-28</text:span></text:p>
       </table:table-cell>
@@ -1362,7 +1362,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Rafael Dominguez<text:line-break/>Commits: 606<text:line-break/>Joined: <text:span text:style-name="T2">2011-02-13</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Jochen Nitschke<text:line-break/>Commits: 587<text:line-break/>Joined: <text:span text:style-name="T2">2016-02-02</text:span></text:p>
       </table:table-cell>
@@ -1373,10 +1373,10 @@
        <text:p text:style-name="Table_20_Contents">Thomas Benisch [tbe]<text:line-break/>Commits: 551<text:line-break/>Joined: 2000-10-23</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Rene Engelhard<text:line-break/>Commits: 544<text:line-break/>Joined: 2005-03-14</text:p>
+       <text:p text:style-name="Table_20_Contents">Rene Engelhard<text:line-break/>Commits: 545<text:line-break/>Joined: 2005-03-14</text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Khaled Hosny<text:line-break/>Commits: 542<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-28</text:span></text:p>
       </table:table-cell>
@@ -1384,15 +1384,15 @@
        <text:p text:style-name="Table_20_Contents">Jürgen Schmidt<text:line-break/>Commits: 512<text:line-break/>Joined: 2000-10-09</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Justin Luth<text:line-break/>Commits: 503<text:line-break/>Joined: <text:span text:style-name="T2">2014-09-30</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Justin Luth<text:line-break/>Commits: 512<text:line-break/>Joined: <text:span text:style-name="T2">2014-09-30</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Peter Foley<text:line-break/>Commits: 489<text:line-break/>Joined: <text:span text:style-name="T2">2011-09-04</text:span></text:p>
       </table:table-cell>
      </table:table-row>
-     <table:table-row table:style-name="TableLine244633328">
+     <table:table-row table:style-name="TableLine93926344855264">
       <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list