Bug 168711 - When typing Korean trying to use special characters overwrites the Korean syllable block
Summary: When typing Korean trying to use special characters overwrites the Korean syl...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
25.8.1.1 release
Hardware: All macOS (All)
: medium normal
Assignee: Patrick (volunteer)
URL:
Whiteboard: target:26.2.0 target:25.8.3
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-05 19:00 UTC by Chris
Modified: 2025-10-07 13:15 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris 2025-10-05 19:00:31 UTC
Description:
When typing in Korean if the word ends in a vowel and I want to use a special character like (, ), /, ., ? it will replace what I wrote. To get around it for now I have to type the word then hit space then backspace to place punctuation.

Eg. I want to type: "사랑해요." If I type how it should work I would get. "사랑해."
What I have to do is type "사랑해요 <space> <backspace> ."

This doesn't affect letters that end with a consonant like: "있" or  "밥".

Steps to Reproduce:
1. Change language to Korean
2. Type a Korean word that doesn't end in a consonant (copying and pasting works it's only when typing in a word)
3. Use a punctuation mark

Actual Results:
It replaces the last syllable block with the punctuation mark

Expected Results:
It should complete the syllable block then add the punctuation mark


Reproducible: Always


User Profile Reset: Yes

Additional Info:
This was not an issue in the last version I was using.

Version: 25.8.1.1 (AARCH64)
Build ID: 54047653041915e595ad4e45cccea684809c77b5
CPU threads: 12; OS: macOS 15.6.1; UI render: Skia/Metal; VCL: osx
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 1 Patrick (volunteer) 2025-10-05 21:54:00 UTC
I can reproduce this bug. Although I don't know how to input Korean nor do I recognize which characters are vowels, I was able to reproduce the bug using the following steps:

1. Change my "CA QWERTY" keyboard layout to "2-Set Korean" keyboard layout
2. Open new Writer document and type the "d" character as printed on my laptop's QWERTY physical keyboard
3. Type "."

In LibreOffice 25.2.4003, step 3 commits the uncommitted text typed in step 2 before adding the "." character.

In contrast, in LibreOffice 25.8.1.1 as well as in my local master build, step 3 cancels the uncommitted text typed in step 2 before adding the "." character.
Comment 2 Patrick (volunteer) 2025-10-05 22:24:30 UTC
OK. It looks like my fix for tdf#128600 (Implement handling of macOS "Reverse Conversion" menu item) is causing this bug. If I comment out a part of my fix (see debug patch below), the bug no longer occurs. So I need to see if I can somehow fix this bug without reintroducing tdf#128600:

diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm
index e927975338e2..2958ea238020 100644
--- a/vcl/osx/salframeview.mm
+++ b/vcl/osx/salframeview.mm
@@ -2401,8 +2401,10 @@ - (NSRange)selectedRange
     // 2. If LibreOffice is selected text, return the selected text length
     // Similar steps in the same order are in
     // -[SalFrameView attributedSubstringForProposedRange:actualRange:].
+#if 0
     if ( [self hasMarkedText] )
         return ( mMarkedRange.location == NSNotFound ? NSMakeRange( 0, 0 ) : mMarkedRange );
+#endif
     NSString *pSelectedText = getCurrentSelection();
     if ( pSelectedText )
         return NSMakeRange( 0, [pSelectedText length] );
Comment 3 Commit Notification 2025-10-07 12:16:43 UTC
Patrick Luby committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0f6d14dbe7f0f5a50a28ea8b796a8a97de756487

tdf#168711 Ignore marked text in -[SalFrameView selectedRange]

It will be available in 26.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 4 Patrick (volunteer) 2025-10-07 12:20:11 UTC
I have committed a fix for this bug and the fix should be in tomorrow's (08 October 2025) nightly master builds:

https://dev-builds.libreoffice.org/daily/master/current.html

Note for macOS testers: the nightly master build installer does not overwrite any LibreOffice official versions. Instead, it will be installed as a separate application called "LibreOfficeDev" in the /Applications folder.

Because this is a "test" build, you will need to do the following steps before you launch the LibreOfficeDev application:

1. Go to the Finder and navigate to the /Applications/Utilities folder
2. Launch the "Terminal" application
3. Paste the following command in the Terminal application window and press the Return key to execute the command:

   xattr -d com.apple.quarantine /Applications/LibreOfficeDev.app
Comment 5 Commit Notification 2025-10-07 13:15:52 UTC
Patrick Luby committed a patch related to this issue.
It has been pushed to "libreoffice-25-8":

https://git.libreoffice.org/core/commit/811a901f6242e9dd7d01a050ad9cb793a555a0d4

tdf#168711 Ignore marked text in -[SalFrameView selectedRange]

It will be available in 25.8.3.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.