(but even better to actually use move assignment op)
Change-Id: I6d9c4a9568ef03d84b7acd48a129d0c723c915cb
Reviewed-on: https://gerrit.libreoffice.org/72820
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
When exiting from a document in the iOS app, the Application::Quit()
would post an ImplQuitMsg user event that would however not be handled
for that document. Instead, it would be handled by the next document
opened and thus the code would immediately stop editing the document,
causing grief.
Change-Id: Id24c843b3f329673035da55f53c2134265fce003
By creating deleted methods for the wrong calls.
Avoids the compiler needing to construct a temporary
Change-Id: I3b8c648d6bb22d22827bf74f21ea5a2a17fc0f6a
Reviewed-on: https://gerrit.libreoffice.org/72103
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Also use scope where possible. This allows to limit guard scope at
language level; visualises the scope clearly; and helps avoiding
errors like fixed in commit 61e4437c85.
Change-Id: Ifeca96e2df8e8a0897770d9546b2536806275f41
Reviewed-on: https://gerrit.libreoffice.org/70376
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Change indefinite article "an" to "a" before
the word unique and some variants.
Change-Id: Ia14a6f3b9ec6b257ad8bed3b089faa9b6f07d44f
Reviewed-on: https://gerrit.libreoffice.org/70174
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This is similar to commit 2dc3a6c273
(framework: allow loading a component on the main thread, 2018-12-19),
just it allows saving (via .uno:Save) and other commands operating in a
similar environment.
The use-case is that once a document is loaded on the main thread (see
commit message of the above mentioned commit), then saving also has to
happen on the main thread, or OLE objects on Windows may be lost.
Change-Id: I7321659550b556e96085ac20f197a87d5d13f1ed
Reviewed-on: https://gerrit.libreoffice.org/67089
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
The user-visible problem was that embedded (OLE) objects contained in a
document that was loaded on a thread were not editable.
This works in the loaded-with-UI case because the Windows version of the
SalData constructor in vcl calls CoInitialize() (which sets the
concurrency model of the main thread to STA) and then later the
OleComponent constructor in embeddedobj calls OleInitialize(), which
just realizes that the concurrency model is already set, and OLE editing
works.
However, if the document is loaded on a thread, things are different.
The concurrency model of the thread is set to MTA in
oslWorkerWrapperFunction() in sal, so the later OleInitialize() will
fail with RPC_E_CHANGED_MODE, as it's not possible to set the
concurrency model of a thread once it's set.
Solve the problem by providing in opt-in way to execute the actual
import on the main thread, since remote UNO clients always invoke
Desktop::loadComponentFromURL() on a thread.
Change-Id: I94f2721b599c3ae3e2ebc1c90dea649a69d51ef7
Reviewed-on: https://gerrit.libreoffice.org/65453
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Ie87d27dd2c385a63349e0b322fd067ba03d2d152
Reviewed-on: https://gerrit.libreoffice.org/64479
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Change callers to Application::EnableHeadlessMode instead except
for the Frame dispose sequence, which has to disable a fatal
mode temporary.
Since Frame is not a unique identifier, rename it to XFrameImpl,
otherwise we get a "non-unique" compile error for other files.
When we update our gcc baseline, we should be able to forward
declare and friend XFrameImpl and really make it private.
Change-Id: Ifcad0355adade8f6539ec092b174dd70af8352c2
Reviewed-on: https://gerrit.libreoffice.org/64050
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
This fixes OSX "make debugrun" by dropping VCL_HIDE_WINDOWS
handling and removing the internal GetPseudoHeadless() API.
While at it moves the DialogCancelMode enum out of Application.
Change-Id: I4876e752ddbfc39dd44faa673fb0e97810089a75
Reviewed-on: https://gerrit.libreoffice.org/61598
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
To prevent further confusion which is which, dbaccess
UserInformation already got that wrong since ever.
/org.openoffice.Setup/L10N/ooLocale is the UI locale.
/org.openoffice.Setup/L10N/ooSetupSystemLocale is the work locale.
Confusingly due to legacy when the setup program was a separate
binary that picked the UI ooLocale and later set up the default
(system) work locale as well.
Change-Id: I9a05ad39f5fb65c54076ff5789ba7a2cc06ad23a
Reviewed-on: https://gerrit.libreoffice.org/61725
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
...warning about (for now only) functions and variables with external linkage
that likely don't need it.
The problems with moving entities into unnamed namespacs and breaking ADL
(as alluded to in comments in compilerplugins/clang/external.cxx) are
illustrated by the fact that while
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
returns 1, both moving just the struct S2 into an nunnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
namespace { struct S2: S1 { int f() { return 1; } }; }
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
as well as moving just the function f overload into an unnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
namespace { int f(S2 s) { return s.f(); } }
}
int main() { return f(N::S2()); }
would each change the program to return 0 instead.
Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c
Reviewed-on: https://gerrit.libreoffice.org/60539
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
after
commit 9cceba9a92
make DBG_TESTSOLARMUTEX available in assert builds
bt looks like:
#0 0x00007faf569074fd in ImplDbgTestSolarMutex()
#1 0x00007faf56904df9 in vcl::EventPoster::~EventPoster()
#2 0x00007faf4392b452 in AutoRecovery::~AutoRecovery()
#3 0x00007faf4392b589 in AutoRecovery::~AutoRecovery()
#4 0x00007faf5d03dfc8 in __run_exit_handlers()
Change-Id: If72eece22db89b492d8e69d1abb496168e32cb9d
Reviewed-on: https://gerrit.libreoffice.org/58636
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade to be able to remove those unneeded includes.
This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
to directories from filter to jvmfwk
Change-Id: I2a73d63f2aaef5f26d7d08957daaa8a30b412ac5
Reviewed-on: https://gerrit.libreoffice.org/58204
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>