Bug 168929 - Cannot rename objects with CJK languages via Navigator
Summary: Cannot rename objects with CJK languages via Navigator
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
25.8.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:26.2.0 target:25.8.3
Keywords: bibisected, bisected, regression
Depends on:
Blocks: CJK IME
  Show dependency treegraph
 
Reported: 2025-10-18 02:18 UTC by Takenori Yasuda
Modified: 2025-10-29 13:50 UTC (History)
4 users (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 Takenori Yasuda 2025-10-18 02:18:01 UTC
Description:
Since LO 25.8, it has not been possible to rename objects with CJK languages via Navigator in Writer, Impress, and Draw.

Conversion candidates are displayed and updated with each keystroke. However, neither the inputs nor the conversions are displayed in Navigator, so I cannot rename objects with those languages via Navigator.
In addition, the Rename Object dialog does not display even though it did up to LO 25.2.

This issue did not occur until LO 25.2 but has occurred since LO 25.8.
I think LibreOffice may have introduced a bad commit between libreoffice-25-2-branch-point and libreoffice-25-8-branch-point.

Steps to Reproduce:
1. Insert any object (e.g., a table).
2. Open Navigator via Menu -> View -> Navigator, or from Sidebar.
3. In Navigator, right-click the object -> Rename.
4. Try entering text using CJK languages.

Actual Results:
Except for a few IMEs and copy/paste workarounds, you cannot rename the object using CJK languages.

Works:
- 谷歌拼音输入法2.7.25.128

Fails:
- GoogleJapaneseInput-2.31.5840.0+24.11.9
- Microsoft IME
- Microsoft Pinyin

Expected Results:
The Rename Object dialog is displayed, allowing renaming in any language via Navigator.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Not occur:
Version: 25.2.3.2 (x86) / LibreOffice Community
Build ID: bbb074479178df812d175f709636b368952c2ce3
CPU threads: 8; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: ja-JP
Calc: CL threaded
※It is the portable version.

Occur:
Version: 25.8.2.2 (X86_64)
Build ID: d401f2107ccab8f924a8e2df40f573aab7605b6f
CPU threads: 8; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: ja-JP
Calc: CL threaded Jumbo

Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: d60ff8c8bd4e3ebf8f84f53448ead3c838332ea9
CPU threads: 8; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: ja-JP
Calc: CL threaded Jumbo
Comment 1 Ming Hua 2025-10-18 02:50:03 UTC
I can reproduce with RIME input method on Windows 11:

Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5618526c14a591d4d5ba5efcb20b027c6782524b
CPU threads: 12; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Raster; VCL: win
Locale: zh-CN (zh_CN); UI: zh-CN
Calc: CL threaded

However:

(In reply to Takenori Yasuda from comment #0)
> Works:
> - 谷歌拼音输入法2.7.25.128
> 
> Fails:
> - GoogleJapaneseInput-2.31.5840.0+24.11.9
> - Microsoft IME
> - Microsoft Pinyin
I have both Microsoft Pinyin and RIME installed. When I first test it, MS Pinyin works fine, and I can only reproduce using RIME.

Then when I switch back to MS Pinyin, it stopped working. I think it has something to do with the "pre-composition keys" (I don't know the exact term, it's about displaying the keys you pressed before converting them to Kanji/Hanzi), but I don't have time to investigate right now.

Leaving status as UNCONFIRMED so that more people can look at it and maybe give more comprehensive steps to reproduce.

> In addition, the Rename Object dialog does not display even though it did up
> to LO 25.2.
I believe this is intentional. In-place editing seems better than a pop-up dialog with only one field to me. I've been using this feature with English UI and English object names on version 24.2/25.2/25.8, and have never encountered this problem before.
Comment 2 Takenori Yasuda 2025-10-18 05:24:14 UTC
As for the IME, I might have a lead.
I noticed that the IMEs affected by that bug seemed to share the following characteristics:

- The language follows a "type -> convert -> confirm" input process.
- The IME displays the unconfirmed (composing) text directly in the document.


(In reply to Ming Hua from comment #1)
> I believe this is intentional. In-place editing seems better than a pop-up
> dialog with only one field to me.
I see — in that case, the Rename Object dialog may not be necessary.
Comment 3 Ming Hua 2025-10-18 06:26:56 UTC
(In reply to Takenori Yasuda from comment #2)
> As for the IME, I might have a lead.
> I noticed that the IMEs affected by that bug seemed to share the following
> characteristics:
> 
> - The language follows a "type -> convert -> confirm" input process.
> - The IME displays the unconfirmed (composing) text directly in the document.
This does not match my experience.

RIME [1] here display the pre-composition keys and the Hanzi candidates all in the pop-up window, not directly in the document, yet I can still use it to reproduce.

I originally thought it would be the other way, as MS Pinyin put pre-composition keys inside the document, but I could use it to change object names in my first try.

1. https://rime.im/ is the official website, no English or Japanese though.
Comment 4 Takenori Yasuda 2025-10-18 07:29:07 UTC
(In reply to Ming Hua from comment #3)
> RIME [1] here display the pre-composition keys and the Hanzi candidates all
> in the pop-up window, not directly in the document, yet I can still use it
> to reproduce.
That makes sense — based on this, it might be better to treat the issue as IME-independent when investigating and fixing it.

Thank you very much for sharing this valuable information!
Comment 5 Saburo 2025-10-20 01:10:26 UTC
for reference
commit 492c94abe05e5ac213475cdd85f158b7a462f824
Add functionality to enable inline editing of tree node objects
in the navigator panel to rename objects.

I was able to input Japanese.
***
***
commit 8316409b68a97f0129b1fd67bcb8c61a7010ceec
Resolves tdf#166186 Showing the context menu for in-place editing

ends in-place editing (x11 only)

Fixing this revealed that ESC ends in-place editing when the popup
menu is active. Esc a second time ends the popup menu. This patch
fixes this issue as well.

I can no longer input Japanese
Comment 6 Ming Hua 2025-10-20 01:37:51 UTC
Thanks Saburo for the bisection. Let's mark this as NEW.

Jim, bisection points to your commit 8316409b68a97f0129b1fd67bcb8c61a7010ceec . Are you familiar with Input Method Engines for CJK, and if yes, would you please take a look?
Comment 7 Jim Raykowski 2025-10-20 06:36:24 UTC
(In reply to Ming Hua from comment #6)
> Jim, bisection points to your commit
> 8316409b68a97f0129b1fd67bcb8c61a7010ceec . Are you familiar with Input
> Method Engines for CJK, and if yes, would you please take a look?
Hi Ming,

I don't see anything in that commit that would cause CJK languages not to work. Since I am unable to test this I can't say for certain.

Possibly this comment in the Edit::ImplRepaint function (vcl/source/control/edit.cxx) would help someone familiar with CJK rendering in LO:
// if IME info exists loop over portions and output different font attributes

https://opengrok.libreoffice.org/xref/core/vcl/source/control/edit.cxx?r=1f0d2531dbeff80eeb3a4fe8485ef1baec6d5752&mo=16963&fi=553#553

I think our CJK expert is Shinji Enoki. I found this article:
https://events.documentfoundation.org/libreoffice-conference-2024/talk/VMZKGC/
Comment 8 Ming Hua 2025-10-20 07:46:44 UTC
(In reply to Jim Raykowski from comment #7)
> (In reply to Ming Hua from comment #6)
> > Jim, bisection points to your commit
> > 8316409b68a97f0129b1fd67bcb8c61a7010ceec . Are you familiar with Input
> > Method Engines for CJK, and if yes, would you please take a look?
> Hi Ming,
> 
> I don't see anything in that commit that would cause CJK languages not to
> work. Since I am unable to test this I can't say for certain.
Thanks for the quick reply, Jim.

> Possibly this comment in the Edit::ImplRepaint function
> (vcl/source/control/edit.cxx) would help someone familiar with CJK rendering
> in LO:
> // if IME info exists loop over portions and output different font attributes
> 
> https://opengrok.libreoffice.org/xref/core/vcl/source/control/edit.
> cxx?r=1f0d2531dbeff80eeb3a4fe8485ef1baec6d5752&mo=16963&fi=553#553
> 
> I think our CJK expert is Shinji Enoki. I found this article:
> https://events.documentfoundation.org/libreoffice-conference-2024/talk/
> VMZKGC/
I don't know if Enoki-san is still active. Let's ask Jonathan, our in-house CJK expert first.

Jonathan, both Yasuda-san and I are seeing this on Windows. Saburo-san didn't say what OS he/she reproduce on. I don't know if it's OS-specific or not. Either way, can you please have a look and see if you can reproduce?
Comment 9 Jonathan Clark 2025-10-20 08:31:14 UTC
(In reply to Ming Hua from comment #8)
> Jonathan, both Yasuda-san and I are seeing this on Windows. Saburo-san
> didn't say what OS he/she reproduce on. I don't know if it's OS-specific or
> not. Either way, can you please have a look and see if you can reproduce?

I can reproduce this bug on Linux with Fcitx5 Mozc.

Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 3254fbdc22200082c21f3de77e14a5b3317d2858
CPU threads: 32; OS: Linux 6.14; UI render: default; VCL: kf6 (cairo+wayland)
Locale: en-CA (en_CA.UTF-8); UI: en-US
Calc: threaded

I've also double-checked the bibisect by reverting the referenced commit locally. The bug no longer reproduced after I did so.
Comment 10 Jonathan Clark 2025-10-20 09:01:37 UTC
The root cause is the MyEdit_Impl::Command() override in vcl/source/treelist/treelistbox.cxx. That new method drops all commands other than CommandEventId::ContextMenu, rather than passing them through to Edit::Command().

I haven't studied the original bug fix, so I'm not sure the right way to implement that without causing a regression.
Comment 11 Commit Notification 2025-10-20 16:17:28 UTC
Jim Raykowski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4f053ee1b55faa9deec3cbf7cb88f265458b20e0

tdf#168929 fix cannot rename objects with CJK languages via Navigator

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 12 Jim Raykowski 2025-10-20 16:24:03 UTC
(In reply to Jonathan Clark from comment #10)
> The root cause is the MyEdit_Impl::Command() override in
> vcl/source/treelist/treelistbox.cxx. That new method drops all commands
> other than CommandEventId::ContextMenu, rather than passing them through to
> Edit::Command().

Exactly! I didn't see your comment until after I uploaded the patch. Would have saved me some cycles if I had :)
Comment 13 Commit Notification 2025-10-21 09:20:34 UTC
Jim Raykowski committed a patch related to this issue.
It has been pushed to "libreoffice-25-8":

https://git.libreoffice.org/core/commit/55d72acdba8e55ff44da1534d7c9426fc89a6063

tdf#168929 fix cannot rename objects with CJK languages via Navigator

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.
Comment 14 Ming Hua 2025-10-29 13:50:19 UTC
Confirming fixed in 25.8.3 RC1 on Windows with Microsoft Pinyin IME:

Version: 25.8.3.1 (X86_64)
Build ID: 52ad9dd1c984050a9fb6932dbfb16e86a49e9758
CPU threads: 12; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Raster; VCL: win
Locale: zh-CN (zh_CN); UI: en-US
Calc: CL threaded

Thanks, Jim and Jonathan!