vcl/unx/gtk3/gtkinst.cxx |   38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

New commits:
commit 68b28057a00a152dc23d3363dd413556882e2bfd
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Jan 19 16:31:03 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Thu Jan 19 19:39:14 2023 +0000

    Resolves: tdf#153091 support text/plain without encoding from nedit
    
    Change-Id: I56dfc6dfec21b8c57b6f402c53b0229a2a2e7778
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145799
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index b697b0b50a3c..8697f7f7eb47 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -824,16 +824,12 @@ public:
 
     virtual css::uno::Any SAL_CALL getTransferData(const 
css::datatransfer::DataFlavor& rFlavor) override
     {
+        css::uno::Any aRet;
+
         css::datatransfer::DataFlavor aFlavor(rFlavor);
         if (aFlavor.MimeType == "text/plain;charset=utf-16")
             aFlavor.MimeType = "text/plain;charset=utf-8";
 
-        auto it = m_aMimeTypeToGtkType.find(aFlavor.MimeType);
-        if (it == m_aMimeTypeToGtkType.end())
-            return css::uno::Any();
-
-        css::uno::Any aRet;
-
         GdkClipboard* clipboard = clipboard_get(m_eSelection);
 
 #if !GTK_CHECK_VERSION(4, 0, 0)
@@ -845,21 +841,25 @@ public:
             aRet <<= aStr.replaceAll("\r\n", "\n");
             return aRet;
         }
-        else
+#endif
+
+        auto it = m_aMimeTypeToGtkType.find(aFlavor.MimeType);
+        if (it == m_aMimeTypeToGtkType.end())
+            return css::uno::Any();
+
+#if !GTK_CHECK_VERSION(4, 0, 0)
+        GtkSelectionData* data = gtk_clipboard_wait_for_contents(clipboard,
+                                                                 it->second);
+        if (!data)
         {
-            GtkSelectionData* data = gtk_clipboard_wait_for_contents(clipboard,
-                                                                     
it->second);
-            if (!data)
-            {
-                return css::uno::Any();
-            }
-            gint length;
-            const guchar *rawdata = 
gtk_selection_data_get_data_with_length(data,
-                                                                            
&length);
-            Sequence<sal_Int8> aSeq(reinterpret_cast<const 
sal_Int8*>(rawdata), length);
-            gtk_selection_data_free(data);
-            aRet <<= aSeq;
+            return css::uno::Any();
         }
+        gint length;
+        const guchar *rawdata = gtk_selection_data_get_data_with_length(data,
+                                                                        
&length);
+        Sequence<sal_Int8> aSeq(reinterpret_cast<const sal_Int8*>(rawdata), 
length);
+        gtk_selection_data_free(data);
+        aRet <<= aSeq;
 #else
         SalInstance* pInstance = GetSalInstance();
         read_transfer_result aRes;

Reply via email to