https://bugs.documentfoundation.org/show_bug.cgi?id=135546

--- Comment #6 from Patrick (volunteer) <[email protected]> ---
So I can reproduce this bug so I added some debug code to see what data formats
macOS Notes posted to the system pasteboard (see debug patch at the end of this
comment.

What I found is that when LibreOffice asks the system pasteboard what data
flavors are avaialable (i.e. what was copied in Notes), I get the following
data formats list:

    "com.apple.notes.richtext",
    "com.apple.flat-rtfd",
    "NeXT RTFD pasteboard type",
    "public.rtf",
    "NeXT Rich Text Format v1.0 pasteboard type",
    "public.utf8-plain-text",
    NSStringPboardType,
    "public.utf16-external-plain-text",
    "CorePasteboardFlavorType 0x75743136"

Most are plain text or RTF. Neither of those formats support inline images.
Don't know what "CorePasteboardFlavorType 0x75743136" is but I suspect that it
is some internal Notes data format.

That leaves only RTFD data formats. RTFD is a custom extension to RTF created
by Apple to handle inline images. LibreOffice, however, does not understand the
RTFD format (and neither do I) so it falls back to one of the text formats.

So I really think the bug occurs because LibreOffice doesn't understand Apple's
custom RTFD format but does understand the more common HTML format which
supports incline images. This is why you can paste text and images from a web
browser into LibreOffice: almost all browsers copy the HTML data format to the
system pasteboard when copied.

Hopefully, Apple will add HTML to its list of data formats that it posts to the
system pasteboard. The other option is to change this bug into a feature
request something like "support import and export of RTFD files and pasteboard
data".

Below is the debug patch that I used:

diff --git a/vcl/osx/OSXTransferable.cxx b/vcl/osx/OSXTransferable.cxx
index 725c56537a46..7f32bc041939 100644
--- a/vcl/osx/OSXTransferable.cxx
+++ b/vcl/osx/OSXTransferable.cxx
@@ -156,6 +156,7 @@ sal_Bool SAL_CALL
OSXTransferable::isDataFlavorSupported(const DataFlavor& aFlav
 void OSXTransferable::initClipboardItemList()
 {
   NSArray* pboardFormats = [mPasteboard types];
+CFShow(pboardFormats);

   if (pboardFormats == nullptr)
   {

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to