summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: Ib504a5243edd5df96a0f4ff8f7f846e83d384a7b Reviewed-on: https://gerrit.libreoffice.org/73130 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-05-29Fix typoAndrea Gelmini1-2/+2
Change-Id: Ic94aaada392b197e3fa955ec5b51ca8106347a38 Reviewed-on: https://gerrit.libreoffice.org/73133 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: I677f7d50d6b93993f6e3d47426434eb570965b7c Reviewed-on: https://gerrit.libreoffice.org/73129 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: Ibfaba910db1ef59af68f57e52a683b5ef147e5a6 Reviewed-on: https://gerrit.libreoffice.org/73132 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: I217ece9296e5e5d8db264a3590e5af1f8ab0cfcb Reviewed-on: https://gerrit.libreoffice.org/73134 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: I3414f8badfbab89d0cab72e51fb4dcafc85b35e4 Reviewed-on: https://gerrit.libreoffice.org/73136 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: I5ce7f422fc6d26eb451ba43fe7bc6f8a540e7d8a Reviewed-on: https://gerrit.libreoffice.org/73131 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-29Fix typoAndrea Gelmini1-1/+1
Change-Id: Ib1af986d52bbc4ea7e2ee7dc5964da81e6508265 Reviewed-on: https://gerrit.libreoffice.org/73137 Tested-by: Jenkins Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-28drop unused boxCaolán McNamara1-50/+1
copy and paste from the normal document info page I imagine Change-Id: Iff40fbf2b4d21dd3d51c63cb6068b0b88b5438ed Reviewed-on: https://gerrit.libreoffice.org/73115 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28drop some unneeded includesCaolán McNamara4-8/+1
Change-Id: I42b2ccbb4484ab2acb8208ad88c6f22e4af09f7d Reviewed-on: https://gerrit.libreoffice.org/73114 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28weld SfxCustomPropertiesPageCaolán McNamara12-609/+655
Change-Id: I1b1ba1c2b879d270eb3af486a4d006f170d1b92e Reviewed-on: https://gerrit.libreoffice.org/73111 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28tdf#124752: Simplify the iOS DataFlavorMapping thing a lotTor Lillqvist1-126/+1
Now it works to copy and paste images (PNG ones at least) between the iOS Collabora Office app and other apps. We don't seem to need the PNGDataProvider after all, as we use it only for data that is already in PNG format. Possibly I am missing somethin, though. Change-Id: Ia6bcc8aefbe1a6687f13e28454b96658fc66c856
2019-05-28tdf#124752: Reduce number of formats offered on clipboard on mobile devicesTor Lillqvist1-3/+21
It seems a bit pointless to offer formats that no other app will use. Change-Id: I54474a4ba40d91c184592cede4224cbfbb78d518
2019-05-28tdf#124752: Use best speed for PNG encoding on iOSTor Lillqvist1-1/+17
Still awfully slow for "realistic" images as taken by modern digital cameras, though. It would be much better to not encode the PNG to put on the clipboard from the internal bitmap representation, but use the ooriginal PNG or JPEG data. Change-Id: Ib72a573bd31d4ae7380dacccb4287e19afabb0d4
2019-05-28NB: add tabbed_compact and contextual NB to Drawandreas kainz4-1/+31716
Change-Id: Ibdca2026f29483948c2fafaf499a82d2a4acf08b Reviewed-on: https://gerrit.libreoffice.org/73095 Tested-by: Jenkins Reviewed-by: andreas_kainz <kainz.a@gmail.com>
2019-05-28sw: implement select-all for the frame shellMiklos Vajna3-0/+19
There is no reason why Ctrl-A should be a NOP when you have an image selected. No test, there is one in the cp-6.0 copy&paste code, that coverage will arrive as part of that copy&paste code forward-port. Change-Id: If0013ee0e9ff9a6fb038a22de7b5d3c76e5c52b9 Reviewed-on: https://gerrit.libreoffice.org/73118 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2019-05-28tdf#125326 add photoalbumdialog icon to breeze, sifr and colibreandreas kainz13-0/+62
Change-Id: I33e7882ed2792a9d1f23ee42645efc4f5003f01d Reviewed-on: https://gerrit.libreoffice.org/73099 Tested-by: Jenkins Reviewed-by: andreas_kainz <kainz.a@gmail.com>
2019-05-28SmartArt: simplify text body empty conditionGrzegorz Araminowicz1-5/+1
Change-Id: Ie1c14bdc4f4db6f8f919433d40ea2281736c38ed Reviewed-on: https://gerrit.libreoffice.org/73097 Tested-by: Jenkins Reviewed-by: Grzegorz Araminowicz <grzegorz.araminowicz@collabora.com>
2019-05-28NB Draw add tabbs for 3D and MasterPageandreas kainz1-247/+1804
Change-Id: I51bf435b555302fe96493f540f5e5a8dc33d0267 Reviewed-on: https://gerrit.libreoffice.org/73081 Tested-by: Jenkins Reviewed-by: andreas_kainz <kainz.a@gmail.com>
2019-05-28Update git submodulesOlivier Hallot1-0/+0
* Update helpcontent2 from branch 'master' - Remove xml comments from file xml comments inside <bookmark> index are moved as is to Pootle and are not handled as comment when brought back to translated file. Change-Id: I040cf84851dea3feea26054cb9a0a20e1241c53b Reviewed-on: https://gerrit.libreoffice.org/73112 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2019-05-28tdf#120905 Remove old FuOutlineBullet dialog code.Gülşah Köse3-348/+1
Change-Id: I4bd0986f23414edc857ca890f6437c6029116e72 Reviewed-on: https://gerrit.libreoffice.org/73070 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2019-05-28Avoid -fsanitize=signed-integer-overflowStephan Bergmann1-2/+2
...with e.g. `--convert-to pdf abw/abi10006-1.abw` as obtained by bin/get-bugzilla-attachments-by-mimetype, reporting > vcl/source/fontsubset/cff.cxx:1697:63: runtime error: signed integer overflow: 55810 * 52845 cannot be represented in type 'int' and > vcl/source/fontsubset/cff.cxx:1137:38: runtime error: signed integer overflow: 233492066 * 52845 cannot be represented in type 'int' Using unsigned here is faithful to the algorithm presented in Chapter 7 Encryption of "Adobe Type 1 Font Format" (<http://wwwimages.adobe.com/ www.adobe.com/content/dam/acom/en/devnet/font/pdfs/T1_SPEC.pdf>). Change-Id: Ic27a5ebbe5f766fef425d241e14487ea4ae81da4 Reviewed-on: https://gerrit.libreoffice.org/73104 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-28ScNumberFormatControl uses an SfxUInt16ItemStephan Bergmann1-1/+1
...not an SfxInt16Item. Probably a typo introduced when adding the class with bf3f3a6bfb08c2d1a2c95f1c1cf62117e0002235 "notebookbar: working number format listbox". (Found with -fsanitize=vptr when switching Calc to "View - User Interface - Tabbed Compact".) Change-Id: I6142b20750872037767e1857edeae83b1b2fa849 Reviewed-on: https://gerrit.libreoffice.org/73089 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-05-28Fix typos (including sequenze->sequence)Andrea Gelmini8-38/+38
Change-Id: Icfd6c5cbc405bad51a0d7f10cdb55c70a1fe5b00 Reviewed-on: https://gerrit.libreoffice.org/73078 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2019-05-28uitest for bug tdf#119343Zdeněk Crhonek2-0/+42
Change-Id: I45aa7b4fda0f19319d3e009bf8d29099e8497c71 Reviewed-on: https://gerrit.libreoffice.org/73067 Tested-by: Jenkins Reviewed-by: Zdenek Crhonek <zcrhonek@gmail.com>
2019-05-28lo: disable under-used hyperlink fields that are buggy online.Michael Meeks1-16/+32
Reviewed-on: https://gerrit.libreoffice.org/72781 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 418adc09f503a5714f58f56619161fed6d668088) Change-Id: If2069288fac14c6113754288eb9136449626393d Reviewed-on: https://gerrit.libreoffice.org/72782 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-05-28tdf#125372 writer, file with lots of hints very slow to open, part3Noel Grandin13-153/+242
There were O(n^2) issues all over the places where we walk these lists. This takes the opening time from 10m+ to 4m. (*) Invalidate the sorting on a much less aggressive basis, by having the SwTextAttr objects tell the SwpHints object when start and end pos changes (*) Add a bool field to indicate when the maps become unsorted, so we can resort them only when we actually need sorted access (*) Add an API for walking the list of SwTextAttr* without triggering sorting, which is particularly important when the RedlineManager starts moving things around. (*) Add various asserts to catch code that tries to iterate over these sorted lists but triggers resorting during the loop. I also moved some of the logic around so that instead of update hint delete hint insert hint it now goes delete hint update hint insert hint which means that the needToSort flag does not get set because the hint is disconnected while it is being updated. Change-Id: Ie153ddafc9ef9e3470d588db2be2457c676232a8 Reviewed-on: https://gerrit.libreoffice.org/73090 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-28tdf#92335 DOCX: fix multiplying of "ListLabel" stylesLászló Németh3-0/+14
by removing the redundant export of the temporary DOCX import character styles for bullets of bulleted lists. Note: this commit will fix the older documents – sometimes with thousands of unused styles – by the next export. The problem was escalated from the commit f9c8d97d82a85b897520a2fe897352ee5ad879d9 "tdf#95213 DOCX import: don't reuse list label styles" Change-Id: I90590352c0c85a92dbad19a45e82339e1201f1e9 Reviewed-on: https://gerrit.libreoffice.org/73098 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2019-05-28Qt5 implement SalSurface support for cairoJan-Marek Glogowski11-26/+259
Current qt5+cairo uses the plain VCL canvas. This patch is just a copy of Gtk3Surface (minus comments) with a different update call. This way the Cairo path now uses the Cairo canvas instead. It fixes at least tdf#122668 for me, but other Impress bugs might be fixed this way too. Change-Id: Iba511c851001753328293c28e53eaa4acc4315d0 Reviewed-on: https://gerrit.libreoffice.org/72921 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Aleksei Nikiforov <darktemplar@basealt.ru>
2019-05-28use after free in GtkInstanceWidget::signal_focus_inCaolán McNamara1-3/+15
https://gerrit.libreoffice.org/#/c/71829/ Change-Id: Ia98de7da7182ae35cbd83fdede89f3955ca45ece Reviewed-on: https://gerrit.libreoffice.org/73092 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28SM move categories into SmElementsControl...Jan-Marek Glogowski2-71/+68
... and drop the special examples handling. All these lists are already static. The only "drawback" are the previously range-based for loops in SmElementsDockingWindow. Change-Id: I7a6cfbe74c29fcc14557aef1d5ef31d599b33fc0 Reviewed-on: https://gerrit.libreoffice.org/73076 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-05-28SM add tooltip to element categories listboxJan-Marek Glogowski1-22/+11
Since there is also no other information, like a label. Also removes one unneeded level of layout indirection. I'm not sure about the root placeholder child added by glade, but other dialogs have it too, so keep it. Change-Id: I235cc1ab5ea9ef37079353ee150eb000cb665dd1 Reviewed-on: https://gerrit.libreoffice.org/73075 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-05-28Log used / selected canvas serviceJan-Marek Glogowski1-6/+13
Change-Id: If62dcbffe6514966418bbf78ef3392cc3219f159 Reviewed-on: https://gerrit.libreoffice.org/73074 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-05-28i18npool: remove versioned ICU forward declarationsMichael Stahl3-3/+7
(regression from c6b7f5555d5df13eae7aa72dbd3307ad8c9893dc)
2019-05-28Revert "crashtesting: frequent nulldef at end of SwTextFrame::ValidateFrame"Michael Stahl1-7/+5
This reverts commit c5338e3ad116dbde0aed801f459173231716efa3. The actual problem was fixed in previous commit for tdf#125475. ValidateFrame() must only be called in text formatting with a SwTextLineAccess keeping the corresponding SwTextLine alive. Change-Id: I5b092b094f620f2dc2524aa5a83c673ec6b1fbbe Reviewed-on: https://gerrit.libreoffice.org/73048 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-05-28tdf#125475 sw: update SwTextFrames when SwTextLine cache shrinksMichael Stahl7-18/+52
SwCache::DeleteObj() may decide to shrink the cache, and then the SwTextFrame::mnCacheIndex goes stale, because only SwCacheObj::m_nCachePos is updated. In this bugdoc, this can happen *inside* SwTextFrame::Format(), where first it succeeds to find an existing SwTextLine, then some footnotes anchored in this paragraph are moved around and formatted, creating new SwTextLines, and SwCache::DeleteObj is called. Later, any access of the original frame's SwTextLine fails to find it and eventually some null pointer crash happens. Newly added SwTextLine::UpdateCachePos() requires that SwTextFrame lives longer than its SwTextLine; there was another problem with that, because SwTextFrame::FormatEmpty() was throwing away the mnCacheIndex, which could then cause a second SwTextLine to be created for the same SwTextFrame, and the first one is not deleted until it falls to the bottom of the LRU list. Apprently for this particular document the problem didn't happen before commit 3d37463eec0c891243a8971a34903b2da01c9e24 and/or commit 31ae7509003b1e650463ee1468c0b315ba13efe6 but that is mostly luck. Change-Id: I7bef1b340a453d6dd44d51a1dc69ee5fd0b697db Reviewed-on: https://gerrit.libreoffice.org/73047 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-05-28SmartArt: adjust text size to fit shapesGrzegorz Araminowicz3-1/+47
up to maximal size of primFontSz constraint. Do not override text size changed by user. Change-Id: If7ea6bbb96cb839831d877edc274a1b0eefdaf21 Reviewed-on: https://gerrit.libreoffice.org/73050 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-05-28fix ui-checkdomain.sh warningsCaolán McNamara1-1/+1
Change-Id: I48195dfd64a0dc4f34860f88e3f63e5a0531453f Reviewed-on: https://gerrit.libreoffice.org/73085 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28parallel deflate compression (one stream, multiple threads)Luboš Luňák7-60/+478
ZipPackageStream::saveChild() already had one threaded compression, but that still uses only one thread for one stream. Many documents contain many streams (where this is useful), but large documents often contain one huge content.xml, which then would be compressed using just one thread. But it is in fact possible to do deflate in parallel on the same data, at the cost of somewhat increased CPU usage (spread over threads). This is handled separately from the background thread path, as integrating these two approaches would probably be needlessly complex (since they both internally use ThreadPool, the tasks should often intermix and parallelize anyway). On my 4-core (8 HT threads) machine this reduces the compression time of tdf#113042 from 3s to 1s. Change-Id: Ifbc889a27966f97eb1ce2ce01c5fb0b151a1bdf8 Reviewed-on: https://gerrit.libreoffice.org/73032 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-28split out thread functionality from ZipOutputEntryLuboš Luňák7-155/+169
It can be easily separated out, it looked like hacked in. And I will need to do more refactoring of the class, so this shouldn't be more complex than necessary. Change-Id: I302da55409e9195274907ca4939c37fbb2427b18 Reviewed-on: https://gerrit.libreoffice.org/73031 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-28try harder not to deflate small streams in a threadLuboš Luňák2-2/+21
E.g. with the bugdoc from tdf#93553, most of the streams to save are actually small, they just do not provide XSeekable. Since it seems all the streams are already fully available by the time the zip packaging is done, fallback to XInputStream::available() to find out if the stream is small. With this, the zipping part of saving tdf#93553 is now down from ~1.5s to ~0.5s. This presumably also makes the hack for tdf#93553 unnecessary. Change-Id: Id9bb7d835400d6d8f147f5c11ade684a549aba53 Reviewed-on: https://gerrit.libreoffice.org/73030 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-28tdf#42949 Fix IWYU warnings in sot/Gabor Kelemen22-60/+32
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I202a98d76a37a564315374893b44ec25ef7798b3 Reviewed-on: https://gerrit.libreoffice.org/73005 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-05-28tdf#42949 Fix IWYU warnings in i18npool/Gabor Kelemen82-174/+238
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ic331c845f0a8f06c4a8f8f79b6f87e26ca7c3a7d Reviewed-on: https://gerrit.libreoffice.org/72972 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-05-28tdf#124752: Add system clipboard interface for iOSTor Lillqvist14-3/+1607
Based on the corresponding macOS code. Work in progress. The image support ifdeffed out still (because it uses some macOS specific APIs for which I couldn't right away find the equivalent iOS ones). I made it much simpler than the macOS code. I dropped the keeping of a local in-process clipboard completely. Firstly, as far as I see, the iOS clipboard API (UIPasteboard etc) does not even offer the possibility to separately offer some formats and actually provide the data on request. Secondly, we must be prepared anyway that the system can kill an iOS app at any stage while the user is using some other app, so we need to make sure everything that is copied goes onto the system clipboard right away anyway. I had to disable the copying of HTML to the clipboard as that lead to a mysterious assertion failure. See comment in DataFlavorMapper::openOfficeToSystemFlavor(). But RTF seems to work well, too. I assume RTF is what gets used for cross-application copy/paste (and cross-device, even, through Apple's Universal Clipboard thing, where you can copy/paste between your Macs and iOS devices on the same network). I am not sure how relevant the various application/x-openoffice-foo formats are. Change-Id: I174495e33d86fc3990996c229243c05d6cbfcda7
2019-05-28six: upgrade release to 1.12.0 used by gdbJens Carl1-80/+456
Change-Id: I816ccde944903e0ff3ac23e92632056a3192b060 Reviewed-on: https://gerrit.libreoffice.org/73069 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-05-28sw: InsertCnt_(): don't call FindPrevCnt() when it doesn't make senseMichael Stahl1-3/+6
When pasting a table we get: warn:legacy.osl:29407:29407:sw/source/core/layout/findfrm.cxx:1136: <SwFrame::FindPrevCnt_()> - unknown layout situation: current frame should be in page header or page foote ... because SwCellFrame's constructor inserts the content of the cell before the SwCellFrame's mpUpper is set, so it's not connected to anything; hence FindNextCnt()/FindPrevCnt() can only return frames inside the cell anyway, and all of those are newly created, so invalidating a11y flow-relations for them seems pointless because a11y doesn't even know about them yet. Change-Id: I96eb59d6ecfdaa453894d06494c6c50faa7cd1bd Reviewed-on: https://gerrit.libreoffice.org/73046 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28Add comment about this "weird assignment" in editdocJulien Nabet1-4/+6
See http://document-foundation-mail-archive.969070.n3.nabble.com/Fishy-assignment-in-editdoc-editeng-td4262109.html Remove the previous comment less clear Change-Id: I06b0bc3254068d58146d9582c2b69afbadbe56ee Reviewed-on: https://gerrit.libreoffice.org/73062 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2019-05-28Fix domain in ui files (sfx2, svtools)Julien Nabet3-3/+3
Change-Id: Icfa8a2d2f6283b0961aa99debadf1e3d29ddaa53 Reviewed-on: https://gerrit.libreoffice.org/73068 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-28tdf#42949 Fix IWYU warnings in sccomp/Gabor Kelemen8-20/+19
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ie2d1a6dad1dc17777f05aa033ea5fed1807261ce Reviewed-on: https://gerrit.libreoffice.org/72636 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-05-28bin/ui-checkdomain.sh: Script to check translation domain in .ui filesGabor Kelemen1-0/+52
Change-Id: Ibf6c181ecfb219ba5d142236471af03f8d3b32c6 Reviewed-on: https://gerrit.libreoffice.org/73072 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>