Test repository to check push and ssh key
Find a file
Caolán McNamara e75701ce9e coverity#1327210 UwF: Unwritten field
Change-Id: I1021bd43a93b9b7f1b4e0f73f75e7a7f7c52b857
2015-10-14 11:40:23 +01:00
.git-hooks
accessibility Revert "bin confusion with name AccessibleGridControlTableImplHelper" 2015-10-13 08:49:00 +02:00
android make ndk-gdb work again 2015-10-14 02:32:57 +02:00
animations Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
apple_remote
avmedia avmedia/quicktime: replace OSL_TRACE with SAL_INFO 2015-10-14 06:54:37 +00:00
basctl Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
basebmp Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
basegfx Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
basic Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
bean cid#1326360 Data race condition 2015-10-14 12:30:56 +02:00
bin
binaryurp Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
bridges Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
canvas Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
chart2 remove some useless comments 2015-10-13 10:07:49 +02:00
clew
cli_ure remove some useless comments 2015-10-13 10:07:49 +02:00
codemaker Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
comphelper Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
compilerplugins loplugin:mergeclasses, merge IControlContext with OBrowserListBox 2015-10-13 10:07:50 +02:00
config_host Pass ENABLE_LIBLANGTAG into code via config_liblangtag.h 2015-10-14 10:14:18 +02:00
configmgr Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
connectivity remove some useless comments 2015-10-13 10:07:49 +02:00
cppcanvas Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
cppu Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
cppuhelper remove some useless comments 2015-10-13 10:07:49 +02:00
cpputools Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
cui convert Link<> to typed 2015-10-14 09:30:20 +02:00
dbaccess Assumed fix of a clang-analyzer-deadcode.DeadStores 2015-10-13 17:40:33 +02:00
desktop Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
dictionaries@91c039a37e
distro-configs Emscripten: --disable-scripting doesn't work, don't use it for now 2015-10-13 17:07:20 +02:00
drawinglayer remove some useless comments 2015-10-13 10:07:49 +02:00
dtrans Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
editeng editeng: add EditView::GetSelectionRectangles() 2015-10-13 16:42:41 +02:00
embeddedobj Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
embedserv Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
eventattacher Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
extensions error C2666: 'operator ==' : 2 overloads have similar conversions 2015-10-13 14:18:09 +02:00
external tdf#95024 fix compound word handling for new Hungarian orthography 2015-10-14 01:23:23 +02:00
extras
filter coverity#1326215 Dereference after null check 2015-10-14 10:59:42 +01:00
forms remove some useless comments 2015-10-13 10:07:49 +02:00
formula com::sun::star->css in fpicker/ 2015-10-14 06:36:34 +00:00
fpicker convert Link<> to typed 2015-10-14 09:30:20 +02:00
framework com::sun::star->css in framework 2015-10-14 06:37:16 +00:00
helpcompiler
helpcontent2@bd00274397 Updated core 2015-10-14 08:03:51 +00:00
hwpfilter Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
i18nlangtag Pass ENABLE_LIBLANGTAG into code via config_liblangtag.h 2015-10-14 10:14:18 +02:00
i18npool Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
i18nutil
icon-themes Breeze Icon: add missing linked file 2015-10-14 08:41:43 +00:00
idl Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
idlc Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
include convert Link<> to typed 2015-10-14 09:30:20 +02:00
instsetoo_native
io Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
ios
javaunohelper use early returns to make method easier to read 2015-10-14 09:55:17 +02:00
jurt
jvmaccess
jvmfwk Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
l10ntools Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
librelogo
libreofficekit Bump gtk+ version to 2.18 2015-10-14 08:09:40 +00:00
lingucomponent Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
linguistic Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
lotuswordpro clang-analyzer-deadcode.DeadStores 2015-10-13 18:30:31 +02:00
m4
mysqlc
nlpsolver cid#1326608,cid#1326609 CN: Bad implementation of cloneable idiom 2015-10-14 09:55:13 +02:00
o3tl
odk
offapi
officecfg tdf#94042 Change autorecovery & autosave to 10 minutes 2015-10-13 14:41:38 +00:00
onlineupdate
oovbaapi
oox Use nRadius value at least to decide between "rect" and "roundRect" presets 2015-10-13 13:15:05 +02:00
opencl
osx
package Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
postprocess
pyuno Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
qadevOOo cid#1326363 Data race condition 2015-10-14 12:30:59 +02:00
readlicense_oo
registry Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
remotebridges Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
reportbuilder coverity#1327210 UwF: Unwritten field 2015-10-14 11:40:23 +01:00
reportdesign Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
ridljar
rsc Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
sal Resolves: #i126586# FreeBSD automation deadlock: osl_closeSocket()... 2015-10-14 09:17:44 +01:00
salhelper Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
sax Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
sc These places apparently want to unbox a value boxed as an Any 2015-10-14 12:25:50 +02:00
scaddins cppcheck:variableScope 2015-10-13 06:22:33 +00:00
sccomp Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
scp2 remove some useless comments 2015-10-13 10:07:49 +02:00
scripting cid#1326361 Data race condition 2015-10-14 12:30:57 +02:00
sd coverity#1326209 Dereference after null check 2015-10-14 10:59:42 +01:00
sdext Fix building with --enable-pdfimport on FreeBSD. 2015-10-13 09:21:03 +01:00
setup_native
sfx2 coverity#735849 Unchecked dynamic_cast 2015-10-14 10:59:49 +01:00
shell TDE: move stuff into the tde-integration package 2015-10-12 18:20:58 +02:00
slideshow tdf#93243 slideshow: boost::bind -> C++11 lambdas 2015-10-13 08:05:18 +00:00
smoketest cid#1326675 DLS: Dead local store 2015-10-14 12:05:52 +02:00
solenv
soltools
sot sot: prefix remaining StgStrm members 2015-10-13 09:37:49 +02:00
starmath Fix gb_Library_use_externals call 2015-10-14 08:48:17 +02:00
stoc Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
store coverity#1326107 Unchecked return value 2015-10-14 10:59:43 +01:00
svgio cppcheck:variableScope 2015-10-13 06:22:33 +00:00
svl cppcheck:variableScope 2015-10-13 06:22:33 +00:00
svtools cppcheck:variableScope 2015-10-13 06:22:33 +00:00
svx coverity#735862 Unchecked dynamic_cast 2015-10-14 10:59:49 +01:00
sw coverity#735962 Unchecked dynamic_cast 2015-10-14 10:59:46 +01:00
swext
sysui
test Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
testtools cid#1326679 DLS: Dead local store 2015-10-14 12:05:53 +02:00
toolkit Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
tools Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
translations@af8538d62d
tubes
ucb tdf#91054 cleanup weirdo function prototypes 2015-10-13 09:54:07 +00:00
ucbhelper Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
udkapi
UnoControls Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
unodevtools
unoidl Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
unoil
unotest Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
unotools Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
unoxml Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
ure
uui Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
vbahelper Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
vcl Bump gtk+ version to 2.18 2015-10-14 08:09:40 +00:00
winaccessibility Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
wizards coverity#1327211 UwF: Unwritten field 2015-10-14 11:39:14 +01:00
writerfilter Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
writerperfect Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
xmerge cid#1326716,cid#1326717 DLS: Dead local store 2015-10-14 12:09:14 +02:00
xmlhelp Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
xmloff coverity#1326118 Constant expression result 2015-10-13 22:38:36 +01:00
xmlreader
xmlscript Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
xmlsecurity Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code 2015-10-12 17:52:29 +02:00
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
config.guess
config.sub
config_host.mk.in
config_host_lang.mk.in
configure.ac Pass ENABLE_LIBLANGTAG into code via config_liblangtag.h 2015-10-14 10:14:18 +02:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in
README.cross
README.md
README.Solaris
Repository.mk TDE: move stuff into the tde-integration package 2015-10-12 18:20:58 +02:00
RepositoryExternal.mk
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
TEMPLATE.SOURCECODE.HEADER
unusedcode.easy
unusedcode.exclude
unusedcode.README

LibreOffice

Coverity Scan Build Status

A quick overview of the LibreOffice code structure.

Overview

You can develop for LibreOffice in one of two ways, one recommended and one much less so. First the somewhat less recommended way: it is possible to use the SDK to develop an extension, for which you can read the API docs here and here. This re-uses the (extremely generic) UNO APIs that are also used by macro scripting in StarBasic.

The best way to add a generally useful feature to LibreOffice is to work on the code base however. Overall this way makes it easier to compile and build your code, it avoids any arbitrary limitations of our scripting APIs, and in general is far more simple and intuitive - if you are a reasonably able C++ programmer.

The important bits of code

Each module should have a README file inside it which has some degree of documentation for that module; patches are most welcome to improve those. We have those turned into a web page here:

http://docs.libreoffice.org/

However, there are two hundred modules, many of them of only peripheral interest for a specialist audience. So - where is the good stuff, the code that is most useful. Here is a quick overview of the most important ones:

Module Description
sal/ this provides a simple System Abstraction Layer
tools/ this provides basic internal types: 'Rectangle', 'Color' etc.
vcl/ this is the widget toolkit library and one rendering abstraction
framework UNO framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from /uiconfig/ files
sfx2/ legacy core framework used by Writer/Calc/Draw: document model / load/save / signals for actions etc.
svx/ drawing model related helper code, including much of Draw/Impress

Then applications

Module Description
desktop/ this is where the 'main' for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop
sw/ Writer
sc/ Calc
sd/ Draw / Impress

There are several other libraries that are helpful from a graphical perspective:

Module Description
basebmp/ enables a VCL compatible rendering API to render to bitmaps, as used for LibreOffice Online, Android, iOS, etc.
basegfx/ algorithms and data-types for graphics as used in the canvas
canvas/ new (UNO) canvas rendering model with various backends
cppcanvas/ C++ helper classes for using the UNO canvas
drawinglayer/ View code to render drawable objects and break them down into primitives we can render more easily.

Finding out more

Beyond this, you can read the README files, send us patches, ask on the mailing list libreoffice@lists.freedesktop.org (no subscription required) or poke people on IRC #libreoffice-dev on irc.freenode.net - we're a friendly and generally helpful mob. We know the code can be hard to get into at first, and so there are no silly questions.