Test repository to check push and ssh key
Find a file
David Ostrovsky e16fa715c4 Handle wchar_t as native C++11 type on windows
The option /Zc:wchar_t- prevented to use wchar_t as a built-in type
according to the C++ standard. In Visual C++ 6.0 and earlier, wchar_t
was not implemented as a built-in type, but was declared in wchar.h as
a typedef for unsigned short. Now, years later after the end of life
this outdated toolchain, there is no reason not to use native type.

The only issue could be the ABI compatibility. But on a quick look at
least, it looks like none of the mangled C++ symbols in the stable URE
interface actually depend on wchar_t.

We forgot to get rid of /Zc:wchar_t- in 5.1. Do that for LibreOffice
5.2, though.

Change-Id: I8d6b380660859efa44c83c830734978d31d756a0
Reviewed-on: https://gerrit.libreoffice.org/22589
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-05-03 19:26:06 +00:00
.git-hooks
accessibility clang-tidy modernize-loop-convert in a* 2016-04-21 10:12:01 +02:00
android tdf#99539 - fıx crash on android 5.1 2016-05-01 10:10:12 +00:00
animations
apple_remote
avmedia tdf#97087 Give comprehensible, unique names to idles 2016-04-28 09:34:30 +00:00
basctl update loplugin stylepolice to check local pointers vars 2016-04-26 10:55:58 +00:00
basegfx Fix typos 2016-05-02 07:11:30 +00:00
basic Fix typo in code 2016-05-01 09:46:58 +00:00
bean Remove debug code 2016-05-02 11:04:04 +02:00
bin Fix typos 2016-04-30 15:06:45 +00:00
binaryurp
bridges tdf#97499 Fixed containers parameters clearing #7 2016-04-28 07:26:58 +00:00
canvas teach stylepolice plugin about ref-counted-pointer naming 2016-04-28 09:31:16 +00:00
chart2 Fix typos 2016-04-30 15:06:45 +00:00
cli_ure Fix typos 2016-05-01 09:46:27 +00:00
codemaker
comphelper Iteration must not start at the end 2016-04-29 18:42:16 +00:00
compilerplugins move stylepolice back to store 2016-04-28 15:39:29 +02:00
config_host
configmgr Remove Edit -> Plug-in as no longer used 2016-05-03 09:17:01 +00:00
connectivity NULL -> nullptr 2016-05-03 16:35:30 +02:00
cppcanvas clang-tidy modernize-loop-convert in c* 2016-04-21 11:03:55 +02:00
cppu Handle wchar_t as native C++11 type on windows 2016-05-03 19:26:06 +00:00
cppuhelper Remove ancient, dead CONTEXT_DIAG code 2016-04-27 14:28:59 +02:00
cpputools
cui Prevent Any ctor from reinterpreting bool* as sal_Bool* 2016-05-03 15:25:44 +02:00
dbaccess Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
desktop -Werror,-Wlogical-not-parentheses 2016-05-02 08:21:56 +02:00
dictionaries@de93f4fc07
distro-configs Convenience --with-distro=LibreOfficeXdgApp 2016-04-29 17:16:29 +02:00
drawinglayer Fix typos 2016-05-02 07:11:30 +00:00
dtrans
editeng Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
embeddedobj Fix typos 2016-04-30 15:06:45 +00:00
embedserv Fix typos 2016-04-21 20:36:29 +00:00
eventattacher loplugin:salbool: Automatic rewrite of sal_False/True 2016-04-20 17:25:40 +02:00
extensions NULL -> nullptr 2016-05-03 15:56:18 +02:00
external Handle wchar_t as native C++11 type on windows 2016-05-03 19:26:06 +00:00
extras Fix typos 2016-04-30 15:06:45 +00:00
filter -Werror,-Wpessimizing-move 2016-05-03 17:14:46 +02:00
forms Remove unnecessary setBOOL, makeBoolAny 2016-05-03 11:20:51 +02:00
formula tdf#97831 [part] Add Excel 2016 functions to Calc 2016-05-03 16:10:12 +00:00
fpicker RemoteFilesDialog: icons for view mode buttons 2016-04-28 06:42:06 +00:00
framework tdf#97499 Fixed containers parameters clearing #8 2016-05-01 10:09:11 +00:00
helpcompiler clang-tidy modernize-loop-convert in h-l/* 2016-04-28 09:31:29 +00:00
helpcontent2@b4f803adf4 Updated core 2016-05-03 07:04:40 +00:00
hwpfilter clang-tidy modernize-loop-convert in h-l/* 2016-04-28 09:31:29 +00:00
i18nlangtag add English (Mauritius) [en-MU] and French (Mauritius) [fr-MU], tdf#99372 2016-04-25 14:51:46 +02:00
i18npool i18npool: fix Android build 2016-04-28 21:26:03 +02:00
i18nutil clang-tidy modernize-loop-convert in h-l/* 2016-04-28 09:31:29 +00:00
icon-themes Some Tango updates 2016-04-27 20:55:55 -05:00
idl teach stylepolice plugin about ref-counted-pointer naming 2016-04-28 09:31:16 +00:00
idlc loplugin:nullptr 2016-04-26 17:49:10 +02:00
include Handle wchar_t as native C++11 type on windows 2016-05-03 19:26:06 +00:00
instsetoo_native
io Fix typo in code 2016-05-01 09:57:14 +00:00
ios
javaunohelper
jurt
jvmaccess
jvmfwk Fix typos 2016-04-30 15:06:45 +00:00
l10ntools genlang .ulf uses LngText as id. 2016-05-03 11:27:54 +00:00
librelogo
libreofficekit lokdocview: log postMouseEvent() arguments 2016-04-27 15:00:36 +00:00
lingucomponent update loplugin stylepolice to check local pointers vars 2016-04-26 10:55:58 +00:00
linguistic clang-tidy modernize-loop-convert in h-l/* 2016-04-28 09:31:29 +00:00
lotuswordpro Fix typos in code 2016-05-01 09:53:04 +00:00
m4
mysqlc Fix typos 2016-05-01 09:51:41 +00:00
nlpsolver
o3tl Fix typos 2016-04-30 15:06:45 +00:00
odk Make SDK examples compile again 2016-04-27 15:39:47 +02:00
offapi Fix typos 2016-05-01 09:51:41 +00:00
officecfg Better label for .uno:OpenSmartTagMenuOnCursor 2016-05-03 12:37:39 +03:00
onlineupdate Handle wchar_t as native C++11 type on windows 2016-05-03 19:26:06 +00:00
oovbaapi
oox tdf#99030: PPTX import: Fixed lost slide background color 2016-04-29 11:59:11 +00:00
opencl coverity#1358844 Uninitialized pointer field 2016-04-29 20:11:50 +01:00
osx
package Fix typos 2016-04-21 20:36:29 +00:00
postprocess
pyuno Fix typos 2016-04-30 15:06:45 +00:00
qadevOOo Fix typos in code 2016-05-01 09:59:53 +00:00
readlicense_oo update credits 2016-04-27 01:12:54 +02:00
registry loplugin:salbool: Automatic rewrite of sal_False/True 2016-04-20 17:25:46 +02:00
remotebridges
reportbuilder
reportdesign Add default line width defines for TableBorders 2016-04-27 12:16:56 +00:00
ridljar
rsc rsc - remove obsolete FILE_LOCAL macros. 2016-05-01 13:16:00 +00:00
sal sal_Bool -> bool 2016-05-02 16:40:19 +02:00
salhelper loplugin:salbool: Automatic rewrite of sal_False/True 2016-04-20 17:25:48 +02:00
sax loplugin:salbool: sal_Bool[] -> bool[] 2016-04-21 17:29:40 +02:00
sc IFS/SWITCH propagate error only for active paths, tdf#97831 follow-up 2016-05-03 19:15:53 +02:00
scaddins
sccomp
scp2 Fix typos 2016-04-22 06:47:06 +00:00
scripting Fix typos 2016-04-30 15:06:45 +00:00
sd Remove Edit -> Plug-in as no longer used 2016-05-03 09:17:01 +00:00
sdext Fix typos 2016-04-30 15:06:45 +00:00
setup_native
sfx2 Remove unnecessary setBOOL, makeBoolAny 2016-05-03 11:20:51 +02:00
shell loplugin:salbool: Automatic rewrite of sal_False/True 2016-04-20 17:27:24 +02:00
slideshow Fix typos 2016-05-01 09:51:41 +00:00
smoketest loplugin:salbool: Automatic rewrite of sal_False/True 2016-04-20 17:27:25 +02:00
solenv Handle wchar_t as native C++11 type on windows 2016-05-03 19:26:06 +00:00
soltools
sot Fix typos 2016-04-30 15:06:45 +00:00
starmath Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
stoc tdf#97499 Fixed containers parameters clearing #9 2016-05-01 10:07:19 +00:00
store
svgio tdf#48066 render stroke-miterlimit correctly in SVG import 2016-04-26 16:42:27 +00:00
svl Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
svtools Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
svx Remove unnecessary setBOOL, makeBoolAny 2016-05-03 11:20:51 +02:00
sw sw: HTML filter: avoid turning on Undo with ridiculous hacks 2016-05-03 14:47:27 +02:00
swext
sysui
test teach stylepolice plugin about ref-counted-pointer naming 2016-04-28 09:31:16 +00:00
testtools Fix typos in code 2016-05-01 09:59:53 +00:00
toolkit teach stylepolice plugin about ref-counted-pointer naming 2016-04-28 09:31:16 +00:00
tools update loplugin stylepolice to check local pointers vars 2016-04-26 10:55:58 +00:00
translations@0732bbfc53 translations: reset this to something that actually exists 2016-05-02 12:23:38 +02:00
tubes
ucb tdf#98644 : better error message when wrong password entered 2016-05-03 11:59:07 +00:00
ucbhelper loplugin:salbool: Automatic rewrite of sal_False/True 2016-04-20 17:27:29 +02:00
udkapi
UnoControls Fix typos 2016-04-22 06:47:06 +00:00
unodevtools Remove unused pbOpt parameter 2016-05-02 16:59:51 +02:00
unoidl loplugin:nullptr 2016-04-26 17:49:10 +02:00
unoil
unotest
unotools Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
unoxml tdf#95416 Get rid of #include "../foo/bar.hxx" style includes 2016-05-01 10:18:20 +00:00
ure
uui Related tdf#98644: In login dialog, give a hint that the password was wrong 2016-05-02 23:20:11 +02:00
vbahelper Fix typos in code 2016-05-01 09:53:04 +00:00
vcl Resolves: tdf#98940 (-1 not mapping to maximum string length anymore) 2016-05-03 09:28:06 +00:00
winaccessibility Fix typos 2016-05-01 09:46:27 +00:00
windows
wizards Fix typos 2016-05-01 09:51:41 +00:00
writerfilter tdf#95707 RTF import: handle device-independent bitmaps 2016-05-03 08:24:26 +00:00
writerperfect Remove unnecessary setBOOL, makeBoolAny 2016-05-03 11:20:51 +02:00
xmerge
xmlhelp
xmloff Prevent Any::setValue from reinterpreting bool* as sal_Bool* 2016-05-03 15:26:01 +02:00
xmlreader
xmlscript tdf#74608 Constructor function for XMLBasicExporter 2016-05-02 09:56:22 +00:00
xmlsecurity sw, xmlsecurity: indentation fixes 2016-04-29 13:32:25 +02:00
.buckconfig
.buckversion
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in
config_host_lang.mk.in
configure.ac Fix typos 2016-04-30 15:06:45 +00:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst bump to hunspell 1.4.1 2016-05-03 09:06:23 +01:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit logerrit: disarm the "resubmit" foot-gun 2016-04-27 15:52:40 +02:00
Makefile.fetch
Makefile.gbuild
Makefile.in
README.cross
README.md
README.Solaris
Repository.mk
RepositoryExternal.mk
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
sanitize-ubsan-blacklist
TEMPLATE.SOURCECODE.HEADER
unusedcode.easy
unusedcode.exclude
unusedcode.README

LibreOffice

Coverity Scan Build Status

LibreOffice is an integrated office suite based on copyleft licenses and compatible with most document formats and standards. Libreoffice is backed by The Document Foundation, which represents a large independent community of enterprises, developers and other volunteers moved by the common goal of bringing to the market the best software for personal productivity. LibreOffice is open source, and free to download, use and distribute.

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
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.