Bug 115718 - Can't erase text in watch text box macro IDE (KDE4)
Summary: Can't erase text in watch text box macro IDE (KDE4)
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
6.0.1.1 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Alex Kempshall
URL:
Whiteboard: target:6.2.0
Keywords: bibisected, bisected, regression
Depends on:
Blocks: KDE
  Show dependency treegraph
 
Reported: 2018-02-14 13:13 UTC by Alex Kempshall
Modified: 2018-12-21 18:15 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Bisect log for this bug (2.68 KB, text/x-log)
2018-02-16 20:55 UTC, Alex Kempshall
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Kempshall 2018-02-14 13:13:40 UTC
Can't erase text in watch text box macro IDE.

Steps to replicate the problem -

1.
Start LO

Expected results:  LO starts

2.
Tools -> Macros -> Edit Macros

Expected results: Macro IDE starts

3.
Enter text in <watch text box>

Expected results: text appears in <watch text box>

4.
Press return key

Expected results: text appears in <watch window>

5.
Delete text in <watch text box>

Expected results: text is deleted from <watch text box>

6.
Enter some text in <watch text box>

Expected results: text appears in <watch text box>



Actual results -

In step 5 the text is not deleted.
In step 6 the new text added is merged with the text previously entered in the <watch text box>


It used to work correctly in 5.1.5
Comment 1 Xisco Faulí 2018-02-15 18:02:10 UTC
Thank you for reporting the bug. To be certain the reported issue is not
related to corruption in the user profile, could you please reset your
Libreoffice profile ( https://wiki.documentfoundation.org/UserProfile ) and
re-test?

I have set the bug's status to 'NEEDINFO'. Please change it back to
'UNCONFIRMED' if the issue is still present
Comment 2 Alex Kempshall 2018-02-16 11:36:59 UTC
I've reset my LibreOffice User profile and problem persists on Slackware 14.2 using KDE4.

Using the same LibreOffice User Profile I've tested on Slackware 14.2 using xfce and the problem is NOT there .
Comment 3 Alex Kempshall 2018-02-16 20:52:00 UTC
I've run LO 6 in various installs of VirtualBox results are as follows

Slackware 14.2 with KDE 4.14.32       - Fails
Slackware 14.2 with xfce              - Works
Slackware Current with KDE 5.12.0     - Works
Slackware Current with KDE 4.14.38    - Fails
Kubuntu 14.04 with KDE 4.13.2         - Fails
Kubuntu 17.10 with KDE 5.10.5         - Works

So it would appear that the problem only occurs on KDE4 which is probably declining in popularity as more and more people transition to KDE5.
Comment 4 Alex Kempshall 2018-02-16 20:55:22 UTC
Created attachment 139955 [details]
Bisect log for this bug

This bisect was performed on Slackware 14.2 with kde 4.14.32
Comment 5 raal 2018-02-17 06:17:50 UTC

# first bad commit: [27be8a263eddb54cb6b66cc0f832bfd02016a694] KDE4 fix edit box borders

author	Jan-Marek Glogowski <glogow@fbihome.de>	2016-10-08 06:56:07 +0200
committer	Jan-Marek Glogowski <glogow@fbihome.de>	2016-12-20 14:19:16 +0100
commit 27be8a263eddb54cb6b66cc0f832bfd02016a694 (patch)
tree dd8d5bf9c4cc2e627f7f1d36d4b4524477d93d33
parent 98e45efa6ab58c67fb3940b9f6fc4b65542d4d6f (diff)
KDE4 fix edit box borders
When recalculating the native window frame borders, calculate
using already existing window borders. Otherwise the KDE edit
box results in an unlimited recursion for increasing the
bounding rects, if the control doesn't fit.


Adding Cc: to Jan-Marek Glogowski ; Could you possibly take a look at this one?
Thanks
Comment 6 Alex Kempshall 2018-02-19 10:30:14 UTC
Two workarounds for this problem. This is a KDE4 problem

1.
Rename /opt/libreoffice6.0/program/libvclplug_kde4lo.so to /opt/libreoffice6.0/program/libvclplug_kde4lo.so.115718

2.
a) 
Overwrite text in <watch text box> with spaces. Especially important here to overwrite, so make sure you've toggled the <Insert> key correctly.

b)
Select ALL the text in the <watch text box> using the mouse.

c)
Delete the text.

d)
You will now be able to see what you're typing as now you're over typing spaces!
Comment 7 Xisco Faulí 2018-02-19 11:39:32 UTC
Moving to NEW...
Comment 8 Donald 2018-05-21 00:50:06 UTC
I can confirm this happens for me in -
"Version: 5.4.6.2
Build ID: 5.4.6-2
CPU threads: 4; OS: Linux 4.14; UI render: default; VCL: kde4; 
Locale: en-NZ (en_NZ.UTF-8); Calc: group"
(copied from Help about.)

I tried safe mode as well but I still have the same problem.
Comment 9 Alex Kempshall 2018-06-15 15:12:48 UTC
The commit that caused this problem, with the Watch edit box, was introduced about 18 months ago.

No other edit box seems to have been effected. Well can't find any similar bug reports, which would suggest the problem is with how this particular EditBox is created.

A lot of forms/pages seem to have been migrated to something called Weld. Don't know what that is.

Anyway, this patch seems to work for me -

diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 6b97f30409e7..b3aa6121d9c3 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -1542,7 +1542,7 @@ namespace
 WatchWindow::WatchWindow (Layout* pParent)
     : DockingWindow(pParent)
     , aWatchStr(IDEResId( RID_STR_REMOVEWATCH))
-    , aXEdit(VclPtr<ExtendedEdit>::Create(this, WB_BORDER | WB_3DLOOK))
+    , aXEdit(VclPtr<ExtendedEdit>::Create(this, WB_3DLOOK ))
     , aRemoveWatchButton(VclPtr<ImageButton>::Create(this, WB_SMALLSTYLE))
     , aTreeListBox(VclPtr<WatchTreeListBox>::Create(this, WB_BORDER | WB_3DLOOK | WB_HASBUTTONS |
                                                           WB_HASLINES | WB_HSCROLL | WB_TABSTOP |
lines 1-13/13 (END)


I will submit the patch during week commencing 18th June 2018, unless that is anyone can come up with a better suggestion.
Comment 10 Alex Kempshall 2018-06-20 07:00:34 UTC
I've submitted a patch for this.
Comment 11 Xisco Faulí 2018-06-20 13:39:15 UTC
(In reply to Alex Kempshall from comment #10)
> I've submitted a patch for this.

Nice! Could you please share the link to the patch? Thanks
Comment 12 Alex Kempshall 2018-06-20 13:54:38 UTC
It's here 

https://gerrit.libreoffice.org/#/c/56146/
Comment 13 Commit Notification 2018-07-04 00:50:47 UTC
Alex McMurchy1917 committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=585415df64f226503b52d1e2b7971a9c46eb6917

tdf#115718 Fix Watch Window EditBox

It will be available in 6.2.0.

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

Affected users are encouraged to test the fix and report feedback.
Comment 14 Xisco Faulí 2018-08-06 11:37:03 UTC
A polite ping to  Alex Kempshall:
Is this bug fixed? if so, could you please close it as RESOLVED FIXED ? Otherwise, Could you please explain what's missing?
OTOH, should it be backported to 6.1 branch ?
Thanks
Comment 15 Alex Kempshall 2018-08-06 13:40:01 UTC
Sorry. As I reported the bug and hopefully fixed it, I'm a bit reticent to say that it's definitely fixed! Game keeper poacher scenario!

Having said all that It works for me with the daily builds. So I'd say it's fixed.

I've not considered whether it should be back ported to 6.1.0. Never ever back ported anything. So new territory to me.
Comment 16 Xisco Faulí 2018-11-05 13:34:43 UTC
I can't reproduce the original problem in

Version: 6.0.6.2
Build ID: 1:6.0.6-0ubuntu0.18.04.1
CPU threads: 1; OS: Linux 4.15; UI render: default; VCL: kde4; 
Locale: en-US (en_US.UTF-8); Calc: group

thus, I can't check whether it's fixed or not.

@Jan-Marek, do you think the commit should be backported to 6.1 branch ?
Comment 17 Alex Kempshall 2018-11-05 15:09:22 UTC
if it helps I can still reproduce the problem in 


Version: 6.1.2.1
Build ID: 65905a128db06ba48db947242809d14d3f9a93fe
CPU threads: 8; OS: Linux 4.4; UI render: default; VCL: kde4; 
Locale: en-GB (en_GB); Calc: group threaded



but it's gone in the latest daily build



Version: 6.2.0.0.alpha1+
Build ID: 7cf6cee97bc05512fae482733ee45f039e9d2160
CPU threads: 4; OS: Linux 4.4; UI render: default; VCL: kde4; 
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:master, Time: 2018-11-04_22:10:34
Locale: en-GB (en_GB); Calc: threaded




Personally I'm prepared to wait for 6.2.?

It would be nice if someone else who encountered the bug could give this a test.
Comment 18 Xisco Faulí 2018-12-21 18:15:24 UTC
Anyway, let close it as RESOLVED FIXED
@Jan-marek, @Alex Kempshall, up to you whether to backport it or not...