summaryrefslogtreecommitdiff
path: root/vcl/unx
AgeCommit message (Collapse)Author
2017-09-28Unify SalUserEvent handlingJan-Marek Glogowski
Merges the various SalUserEvent structs and their handling into a single class. This includes a common SalFrame* hash map, as all backends use such a map to verify alive SalFrames. It also reverts the "FIXME: lousy workaround" for i#90083, which was part of commit d6f7c94e5c27ba02ff5c3229760c9808cc9b5bea. At least on my current OSX box application based window switching "just works" "out of the box", even without the code. Change-Id: I188b567e44fd79c162b2d9cabbd771d1f66c7dc4 Reviewed-on: https://gerrit.libreoffice.org/42845 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-09-26Rename the basegfx::tools namespace to basegfx::utilsTor Lillqvist
Reduce potential confusion with the global tools namespace. Will hopefully make it possible to remove the annoying initial :: when referring to the global tools namespace. Unless we have even more tools subnamespaces somewhere. Thorsten said it was OK. Change-Id: Id088dfe8f4244cb79df9aa988995b31a1758c996 Reviewed-on: https://gerrit.libreoffice.org/42644 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-09-26tdf#112288 Clarify Reschedule implementationsJan-Marek Glogowski
Application::Reschedule(true) must just process all currently pending events and ignore all new events generated while processing them. In contrast to Scheduler::ProcessEventsToIdle, this way it can't busy-lock the application with background jobs. This way we also can drop nMaxEvents from the Windows backend. This limit was also never implemented on OSX and for the KDE4 backend it's actually impossible to handle single events, and a call to QAbstractEventDispatcher::processEvents works like this. Also changes various call sites to just process all pending events instead of some made up number of times. Change-Id: I1ab95df89b079cc8c6319a808194fe3127144d1c Reviewed-on: https://gerrit.libreoffice.org/42659 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-09-26WIN run main thread redirects ignoring SolarMutexJan-Marek Glogowski
This way we can drop all the special nReleased handling. Instead we use the same mechanism as on Mac, where we keep the lock, but disable it for the main thread. As a security measure we assert on duplicate redirects, which should not happen. As a result we can't use SendMessage on the main thread itself, which would normally just call the WinProc directly. This could be accomplished by converting the redirect bool into a counter, which should be safe, as no other thread could acquire the SolarMutex, as we don't release it. Change-Id: Icd87b3da37a2489f3cad2bc80215bf93fc41d388 Reviewed-on: https://gerrit.libreoffice.org/42583 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-09-25vcl: [loplugin:badstatics] aDocumentFocusListenerMichael Stahl
Move it into class GtkSalData; have to use 2 variables because the class is only defined in atkutil.cxx but the ~GtkSalData is in gtkdata.cxx. Change-Id: I3b12f02a1a5454f39206cbd0fe224d3f08a44c73 Reviewed-on: https://gerrit.libreoffice.org/42673 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-09-25Fix typosAndrea Gelmini
Change-Id: I879a52820d78d9151ef64dd21612379f617f66e2 Reviewed-on: https://gerrit.libreoffice.org/42726 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-09-25Rename GetSelectEntryData -> GetSelectedEntryDataSamuel Mehrbrodt
Change-Id: Ia6402f6d2c978cbd5557052a43e9728ca9e11173 Reviewed-on: https://gerrit.libreoffice.org/42285 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-09-25Install fc_local.conf only where usedStephan Bergmann
...and at least issue a SAL_INFO when it's missing (there may theoretically be multiple directories, and it need not be present in every one, so nothing stronger than SAL_INFO can be used) Change-Id: I9b7257a551626e5ad081cfb75422a8bd71b86aa4 Reviewed-on: https://gerrit.libreoffice.org/42714 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-24fix some newer leaksCaolán McNamara
Change-Id: I3a13406db4e441c3a29056f80cb728da2ecc3c25 Reviewed-on: https://gerrit.libreoffice.org/42720 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-24fix some leaksCaolán McNamara
Change-Id: I06a3971d1d269b49b2a7954f977469fbc3d16f35 Reviewed-on: https://gerrit.libreoffice.org/42719 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-23normalize -> styleCaolán McNamara
Change-Id: I10895e686c7f583dd3d4a002b878f4499d15efa3 Reviewed-on: https://gerrit.libreoffice.org/42697 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-23cid#1418339: resource leakJulien Nabet
Change-Id: I87374e32e787f58aa5e4d1b6a78fcd1dddcccdf6 Reviewed-on: https://gerrit.libreoffice.org/42680 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-09-22vcl: [loplugin:badstatics] pManagerMichael Stahl
Move this to class GenericUnixSalData, which is deleted on shutdown. Change-Id: I6366c12f255bfeca737b22259c3f58ffa2c6222c Reviewed-on: https://gerrit.libreoffice.org/42632 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-09-22vcl: [loplugin:badstatics] PPDParserMichael Stahl
class PPDContext actually looks harmless but it has an out-of-line destructor so the plugin can't see that it's harmless, so use default destructor instead. Change-Id: I921a4cdaeb5c8fe286615162b9e9c2a8db47b300 Reviewed-on: https://gerrit.libreoffice.org/42633 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-09-21Rename GetSelectEntryPos -> GetSelectedEntryPosSamuel Mehrbrodt
Change-Id: I0bd4cb463575af843c72d9c8aaf91742203532a4 Reviewed-on: https://gerrit.libreoffice.org/42283 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-09-19rename GetGenericData to GetGenericUnixSalDataNoel Grandin
Change-Id: Id95334da347c8341d9d190307603218eedb9c1e6 Reviewed-on: https://gerrit.libreoffice.org/42457 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-19rename SalGenericData to GenericUnixSalDataNoel Grandin
since it's generic over the various unixen, not anything else Change-Id: I994d5c9be99134b804e96bc045bf054fd9b434ef Reviewed-on: https://gerrit.libreoffice.org/42455 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-19rename GtkData to GtkSalDataNoel Grandin
to match all of the other SalData derivates Change-Id: I1d40ea5934edbeab747c10570657ac7d23230840 Reviewed-on: https://gerrit.libreoffice.org/42454 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-19Unify SolarMutex implementationsJan-Marek Glogowski
All backends implement the SolarMutex in mostly the same way. So this consolidates this code into a GenericSolarMutex. We still need the abstract SolarMutex class for the fake AKA fascade implementation in dbaccess. The patch also replaces various places of direct mutex usage with either SolarMutexGuard or SolarMutexReleaser objects. Change-Id: Ia0146dd6c51a3b9a513cc6af34a66def58aad831 Reviewed-on: https://gerrit.libreoffice.org/42325 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-09-18ofz#3419 Null-dereference READCaolán McNamara
Change-Id: I32c5d5039034ac76262223e42a1f27d6f1b84cb5
2017-09-18Acknowledge that WinSalGraphicsImpl::drawPolyLine modifies pPtAryStephan Bergmann
Change-Id: Idde44857f8ace883cc759321c71e2ca7a4359334 Reviewed-on: https://gerrit.libreoffice.org/42406 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-14clang-tidy modernize-use-emplace in vclNoel Grandin
Change-Id: Ie0a6d105b0167431275e628935df4f4c1a36d070 Reviewed-on: https://gerrit.libreoffice.org/42259 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-13Enable -Wunreachable-codeStephan Bergmann
...motivated by <https://gerrit.libreoffice.org/#/c/41565/2> adding dead code at the end of a switch statement, after the last case's "break". -Wunreachable-code appears to work well on Clang, while it appears to have no effect on GCC. Most of the affected places are apparently temporary/TODO/FIXME cases of disabling code via "if (false)", which can be written with an extra set of parentheses as "if ((false))" to silence -Wunreachable-code on Clang (which thus needed loplugin:unnecessaryparen to be adapted accordingly). In some cases, the controlling expression was more complex than just "false" and needed to be rewritten by taking it out of the if statement to silence Clang. One noteworthy case where the nature of the disabled code wasn't immediately apparent: Sep 12 16:59:58 <sberg> quikee, is that "if (false)" in ScExponentialSmoothingDialog::ApplyOutput (sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx) some work-in- progress or dead code? Sep 12 17:02:03 <quikee> sberg: WIP, but you can remove it Sep 12 17:04:47 <sberg> quikee, I'll wrap the false in an extra set of parentheses for now, to silence -Wunreachable-code (I wouldn't want to remove it, as I have no idea whether I should then also remove the "Initial value" comment preceding it) Sep 12 17:07:29 <quikee> sberg: both are different ways to calculate the "intital value"... so no Another case where the nature of the dead code, following while (true) loops without breaks, is unclear is sd/source/ui/remotecontrol/BluetoothServer.cxx, where I added TODO markers to the workarounds that silence the warnings for now. basic/source/sbx/sbxvalue.cxx had a variable of type double, of automatic storage duration, and without an initalizer at the top of a switch statement. Clang warning about it is arguably a false positive. Apart from that, this didn't find any cases of genuinely dead code in the existing code base. Change-Id: Ib00b822c8efec94278c048783d5997b8ba86a94c Reviewed-on: https://gerrit.libreoffice.org/42217 Tested-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-12no CPDParser under AndroidCaolán McNamara
Change-Id: I3cf6df721f89493a527a0b65b24354d3e6135c68
2017-09-12loplugin:unnecessaryparenStephan Bergmann
Change-Id: I6fe1690b6f66e31753da993a256b7586478ef4f1
2017-09-12CUPS_VERSION_MAJOR is not definedCaolán McNamara
on arm Change-Id: Ibeca07800d02f5f69046c7bdee57143c78c03aad
2017-09-12Resolves: tdf#106163 MouseMove/MouseLeave from crossing not mirrored in rtlCaolán McNamara
but we do mirror the event for normal mousemove, this looks like the real bug here Change-Id: I178d53f5f40dbd075984019e25e6d7665b6cdf87
2017-09-12stub things to build without dbus or gioCaolán McNamara
Change-Id: Ibdcf33a6f0a688b322aedd531e8dfbf107e9e755
2017-09-12unnecessary thisCaolán McNamara
Change-Id: Ic5e325e12fb7270e448dd0d32e046b766e029d8e
2017-09-12Add Common Printing Dialog FunctionalityYash Srivastav
Summary: These set of commits add support for the Common Printing Dialog Backends being developed as part of GSoC'17. All backends exist as dbus-services which can be queried for printers, their options, etc. Test Plan: Firstly, without adding any CPD backend, LO printing should work as it works now with graceful fallback to CUPS. Next, we need to install a backend. The backend providing CUPS interface is at git@github.com:NilanjanaLodh/PrintDialog_Backend.git See README.md for installation instructions. After this, run LO and existing CUPS Printers should show up. Also printing does send a job to cups which can be seen at: http://localhost:631/jobs?which_jobs=completed Due to LO shutdown not being handled properly currently, the backend might need to be killed via `pkill print_backend_cups` Future Plans: * Fix shutdown actions. Change-Id: I3bdea5d3272ec4c9c0dfe510f5848fcb398b4b14 Reviewed-on: https://gerrit.libreoffice.org/40565 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-12WIP: Implement Basic Common Printing BackendYash Srivastav
Can list printers and basic printing set up. Change-Id: I2be3ac448cec8f40f632dbfa22657088e9cf7ee9 Reviewed-on: https://gerrit.libreoffice.org/38987 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-11cppcheck: knownConditionTrueFalseJochen Nitschke
Change-Id: I216635d7eed8d32c84b44fc80db2e6047b8ee252 Reviewed-on: https://gerrit.libreoffice.org/42158 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-11Translate German comments/debug strings (leftovers in dirs vbahelper and vcl)Johnny_M
Translates leftovers found using a custom regex. Additionally: - Translated the "SGV Fonts for StarView" INI file parameter group in vcl/source/filter/sgf.ini and .../sgvtext.cxx Change-Id: I1360aac1a2f3fa825f86d77ac1b05e2de9ffb007 Reviewed-on: https://gerrit.libreoffice.org/42145 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-09-11gtk3: flicker-free opengl transitionsCaolán McNamara
leave the GtkGLArea opengl context alone except for the final render into it, create a new context for the slide transitions to play with set up a pair of framebuffers, a scratch one to let the transitions render into, the other to take a snapshot when the transition is finished with it and then tell GtkGLArea we're ready to render it and when the callback comes around copy the snapshot into it. Change-Id: I3515614baf7eea0ff53c46edbaf9cf66f926eef2 Reviewed-on: https://gerrit.libreoffice.org/42144 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-11its really the contents we want to redrawCaolán McNamara
doesn't matter in practice though, but change it anyway Change-Id: I9df8304f01c80a899bdd7219fc4ce459bda7de08 Reviewed-on: https://gerrit.libreoffice.org/42065 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-11hidpi+gtk3: move setting the opengl slide viewportCaolán McNamara
to when the window size is set, and adjust to gtk3 hidpi scaling factor Change-Id: Id9bd0defd0b6ae640ac57f88133d954202d4bcc3 Reviewed-on: https://gerrit.libreoffice.org/42143 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-08tdf#110737 set user-events to a lower priority than system redrawCaolán McNamara
Change-Id: Ic6672fcce4cb5516d388fee22120383ccc70a4a5 Reviewed-on: https://gerrit.libreoffice.org/42066 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-04Resolves: tdf#110452 stop menubar processing Alt+foo if handled by core widgetCaolán McNamara
Change-Id: I69f975d0f7a753e55f72fcd63f6580e958a80f38 Reviewed-on: https://gerrit.libreoffice.org/41884 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-04Resolves: tdf#111864 render progress bar for Ambiance theme properlyCaolán McNamara
Change-Id: I8ce43e4516413ea3779a128b374a931b080ae970 Reviewed-on: https://gerrit.libreoffice.org/41879 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-02Replace lists by vectors printer part (vcl)Julien Nabet
Change-Id: I0e4685b78f114296b115b4fef5eed4140755e1a1 Reviewed-on: https://gerrit.libreoffice.org/41804 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-09-02Use FPicker parentwindow argument to set file picker parentCaolán McNamara
the secret argument of xParentWindow already exists here we use XSystemDependentWindowPeer and getWindowHandle to get the window handle (which is a bit spurious in the wayland case but close enough) and then look up all our toplevel frames for a matching one in order to get the associated widget to use a a parent window If the fpicker was still in fpicker we could get the vcl::Window for the xParentWindow and get the frame directly from that but that necessitates linking to toolkit, so do it this way instead Change-Id: Ia6f51e6d2016587c1f314d7a0b1f9a20269facd0 Reviewed-on: https://gerrit.libreoffice.org/41808 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-02remove some castingCaolán McNamara
Change-Id: Idf6c82b0c609d8680e2017602bfe9a93acb093b9 Reviewed-on: https://gerrit.libreoffice.org/41807 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-30vcl: [loplugin:constparams]Michael Stahl
Change-Id: Ic390dbb5a83a049635a868a14d09eaf1cfc2080f
2017-08-29Resolves: tdf#111760 cancel file dialog on terminateCaolán McNamara
schedule cancel dialog in query termination, take ownership of the desktop and re-schedule terminate to be re-attempted after the dialog is cancelled Change-Id: I5c061b47959baba138c6c23aaae365f28e9cf167 Reviewed-on: https://gerrit.libreoffice.org/41181 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-23convert message box style bits to scoped enumNoel Grandin
and fix harmless bug in ImpSVGDialog::ImpSVGDialog, which there since commit 6456f1d81090dd5fe44455c09ae3ede7ec6ac38a Date: Fri Feb 4 14:52:54 2011 +0100 ka102: added/removed files for SVG import and module cleanup Change-Id: I66b2ec2b029431ab453e54e962863e4ed7d78962 Reviewed-on: https://gerrit.libreoffice.org/41412 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-18Fix typosAndrea Gelmini
Change-Id: If13c1408a3e597c6f9b21d209722ef6bc87c0c94 Reviewed-on: https://gerrit.libreoffice.org/41270 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-16SalFrame Handle* methods can return boolNoel Grandin
Change-Id: Ia28463e1c83aa496e8c389d1614f9b8a78100994 Reviewed-on: https://gerrit.libreoffice.org/41209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-08loplugin:constantparamNoel Grandin
Change-Id: Ib92aba17c46a4ada75c2a0630f281759d995f32e Reviewed-on: https://gerrit.libreoffice.org/40843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-03loplugin:checkunusedparams in variousNoel Grandin
Change-Id: I4f54940a9ebdcd47776b2a5f7bae6e49b633ee44 Reviewed-on: https://gerrit.libreoffice.org/40706 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-02remove unnecessary use of 'this->'Noel Grandin
Change-Id: I5c115389af7d24c18ddaf5fbec8c00f35017a5b4 Reviewed-on: https://gerrit.libreoffice.org/40671 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>