Bug 152128 - GTK3: when creating a new address block in mail merge wizard, free text entry is allowed (but can't remove it)
Summary: GTK3: when creating a new address block in mail merge wizard, free text entry...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.2.7.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.5.0 target:7.4.4
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Mail-Merge GTK3
  Show dependency treegraph
 
Reported: 2022-11-19 19:04 UTC by Chris Curvey
Modified: 2022-11-30 11:52 UTC (History)
3 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 Chris Curvey 2022-11-19 19:04:37 UTC
Description:
1. Start the Mail Merge Wizard
2. Make it a "letter"
3. Choose a spreadsheet of addresses
4. Under "address block" choose "more"
5. Create a new address block
6. Type some characters in the text box
7. Try to erase the characters using backspace

You will be unable to do so.  

Steps to Reproduce:
see description

Actual Results:
letters are not deleted when hitting the backspace key

Expected Results:
letters should be deleted when I hit the backspace key


Reproducible: Always


User Profile Reset: No

Additional Info:
filing bugs here is painful

I like Jello
Comment 1 Stéphane Guillou (stragu) 2022-11-28 15:39:02 UTC
Delete key doesn't work either. Reproduced in:

Version: 7.2.7.2 / LibreOffice Community
Build ID: 8d71d29d553c0f7dcbfa38fbfda25ee34cce99a2
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

all the way to:

Version: 7.5.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 1fd42472e2b1a2169d56e62ef11aa7ee1f7815e7
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

LO 7.1 wouldn't allow typing in the field:

Version: 7.1.8.1 / LibreOffice Community
Build ID: e1f30c802c3269a1d052614453f260e49458c82c
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

Seems Linux-only as I can't reproduce with:

Version: 7.4.2.3 (x64) / LibreOffice Community
Build ID: 382eef1f22670f7f4118c8c2dd222ec7ad009daf
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded 

And seems GTK3-specific as I can't reproduce with gen VCL:

Version: 7.5.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 1fd42472e2b1a2169d56e62ef11aa7ee1f7815e7
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: x11
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

Or KF5:

Version: 7.4.3.2 / LibreOffice Community
Build ID: 1048a8393ae2eeec98dff31b5c133c5f1d08b890
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: kf5 (cairo+xcb)
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded
Comment 2 Caolán McNamara 2022-11-28 16:49:58 UTC
Typing isn't supposed to work there, so the error is that free text is allowed. I suspect the reason is that while key press events are filtered, that in the gtk case they characters are coming from an input engine rather than as raw keystrokes and so bypassing the attempt to disallow input there
Comment 3 Stéphane Guillou (stragu) 2022-11-28 16:54:58 UTC
bisected to:
 6369dbd4a2915435b19c43ef4db47139279b71c7 is the first bad commit
commit 6369dbd4a2915435b19c43ef4db47139279b71c7
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Wed Mar 2 04:48:19 2022 +0100

    source e388a4d6d7ab355fc7aa5fca05e06070693847e9

 instdir/program/libvclplug_gtk3lo.so | Bin 2582928 -> 2583112 bytes
 instdir/program/setuprc              |   2 +-
 instdir/program/versionrc            |   2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)

Which points to:

commit e388a4d6d7ab355fc7aa5fca05e06070693847e9
author	Caolán McNamara <caolanm@redhat.com>	Tue Mar 01 16:50:37 2022 +0000
committer	Adolfo Jayme Barrientos <fitojb@ubuntu.com>	Wed Mar 02 04:30:47 2022 +0100
tree 7f842d4e3888bd934be4293e2198e9262408f53a
parent b228045cf3fb50128fd40a8f26376443ad22f874

Resolves: tdf#145580 need to use gtk_im_context_filter_keypress

Caolán, could you please have a look? Text entry probably shouldn't be allowed at all in this field.
Comment 4 Stéphane Guillou (stragu) 2022-11-28 16:55:24 UTC
Ah, you were quicker! :)
Comment 5 Commit Notification 2022-11-29 09:37:48 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/7d11bbb906f3fe49b243c3acca1cffbb28915a6a

Resolves: tdf#152128 consider input engine events as well as keystrokes

It will be available in 7.5.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 6 Caolán McNamara 2022-11-29 09:43:44 UTC
done in trunk, backport to 7-4 in gerrit
Comment 7 Aron Budea 2022-11-29 10:41:58 UTC
(In reply to Stéphane Guillou (stragu) from comment #3)
> commit e388a4d6d7ab355fc7aa5fca05e06070693847e9
> author	Caolán McNamara <caolanm@redhat.com>	Tue Mar 01 16:50:37 2022 +0000
> committer	Adolfo Jayme Barrientos <fitojb@ubuntu.com>	Wed Mar 02 04:30:47
> 2022 +0100
> tree 7f842d4e3888bd934be4293e2198e9262408f53a
> parent b228045cf3fb50128fd40a8f26376443ad22f874
> 
> Resolves: tdf#145580 need to use gtk_im_context_filter_keypress
For the record, this is the 7.2 backport of the following commit, adding the original for reference:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=dc99d27f04b47c173de934a19b6d6a3cc572c20a
Comment 8 Commit Notification 2022-11-29 15:00:38 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-4":

https://git.libreoffice.org/core/commit/dff9366b7b516700cac75df911176daa67a0f7a5

Resolves: tdf#152128 consider input engine events as well as keystrokes

It will be available in 7.4.4.

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 9 Stéphane Guillou (stragu) 2022-11-30 11:51:45 UTC
Verified fixed in:

Version: 7.5.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 01a3cc1e55034f7703219d4bbb209de7c37bf07b
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

Thanks Caolán! :)