0930286e2d
It is enough to call the -[UIDocument saveToURL:forSaveOperation:completionHandler:] only in DocumentBroker::sendUnoSave(). And on the other hand, in -[DocumentViewController bye] we can't want for the LOOLWSD::lokit_main_mutex as the main queue is needed for parts of what the saveToURL does. Also, use a separate copy of the document as the file that is actually edited by LO core. This matches what the Android app does. I think it is useful to do this in order to avoid some hangs that I noticed. They probably were caused by both LO core and the system frameworks occasionally accessing the same document file at the same time. Change-Id: Idb65be23a7cb6ad1288fbbd23c7471e0fb8d52f4 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91851 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
30 lines
765 B
Objective-C
30 lines
765 B
Objective-C
// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*-
|
|
//
|
|
// This file is part of the LibreOffice project.
|
|
//
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
#import <string>
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#define LOK_USE_UNSTABLE_API
|
|
#import <LibreOfficeKit/LibreOfficeKit.h>
|
|
|
|
@class DocumentViewController;
|
|
|
|
@interface CODocument : UIDocument {
|
|
@public
|
|
int fakeClientFd;
|
|
NSURL *copyFileURL;
|
|
}
|
|
|
|
@property (weak) DocumentViewController *viewController;
|
|
|
|
- (void)send2JS:(const char*)buffer length:(int)length;
|
|
|
|
@end
|
|
|
|
// vim:set shiftwidth=4 softtabstop=4 expandtab:
|