Bug 116876 - Special Character dialog: on resize with a selection from recent or favorite character list, the fields for Unicode Name, "Hexadecimal: U+" value, and the "Decimal:" value pick up incorrect string from the selection on chart (comment 16)
Summary: Special Character dialog: on resize with a selection from recent or favorite ...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.0.3.2 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:6.1.0.1 target:6.2.0 target:6.0.6
Keywords: implementationError
Depends on:
Blocks: Special-Character
  Show dependency treegraph
 
Reported: 2018-04-08 08:37 UTC by oleg.tolmatcev
Modified: 2018-06-07 12:08 UTC (History)
10 users (show)

See Also:
Crash report or crash signature:


Attachments
clip of the dialog with wrong strings pickedup after resize (28.35 KB, image/png)
2018-05-08 14:21 UTC, V Stuart Foote
Details

Note You need to log in before you can comment on or make changes to this bug.
Description oleg.tolmatcev 2018-04-08 08:37:20 UTC
Description:
When you click in "Favorite Characters" the first time, then the fields "Hexadecimal" and "Decimal" are not properly updated. They stay the same, although they should change to reflect the selected character.

Steps to Reproduce:
1. Open the "Special Characters" dialog in Writer.
2. Click to select a "Favorite Character"


Actual Results:  
The fields "Hexadecimal" and "Decimal" stay the same.

They change to the right value and then they change immediately back to the old value. This happens very fast and has the effect that they stay the same.

Expected Results:
The fields "Hexadecimal" and "Decimal" should change to reflect the selected favorite character.


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 6.0.3.2 (x64)
Build-ID: 8f48d515416608e3a835360314dac7e47fd0b821
CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; 
Gebietsschema: de-DE (de_DE); Calc: group


User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
Comment 1 Dieter 2018-04-08 13:50:00 UTC
Can't reprduce it in

Version: 6.1.0.0.alpha0+ (x64)
Build ID: 2325f9ac789cd12e5ecc9d239baf2558e1d678bb
CPU threads: 4; OS: Windows 10.0; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-04-05_00:37:47
Locale: en-US (de_DE); Calc: CL
Comment 2 Laurent Balland 2018-04-14 13:55:03 UTC
I can NOT confirm with:
- Version: 6.0.1.1
Build ID: 60bfb1526849283ce2491346ed2aa51c465abfe6
Threads CPU : 8; OS : Linux 4.13; UI Render : par défaut; VCL: gtk2; 
Locale : fr-FR (fr_FR.UTF-8); Calc: group
- Version: 6.0.3.2
Build ID: 8f48d515416608e3a835360314dac7e47fd0b821
Threads CPU : 8; OS : Linux 4.13; UI Render : par défaut; VCL: gtk2; 
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Comment 3 Arawa 2018-04-14 14:34:12 UTC
Can't reproduce it with:

Version: 6.0.3.2
Build ID: 8f48d515416608e3a835360314dac7e47fd0b821
CPU threads: 8; OS: Linux 4.13; UI render: default; VCL: kde4; 
Locale: fr-FR (fr_FR.UTF-8); Calc: group
Comment 4 Arawa 2018-04-14 15:10:23 UTC Comment hidden (obsolete)
Comment 5 Xisco Faulí 2018-04-16 10:10:46 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 6 oleg.tolmatcev 2018-04-16 18:37:14 UTC
I have reset my profile and retested. The problem was still present. The character name, the "Hexadecimal" and the "Decimal" fields were not properly updated.

I also downloaded a daily build

Version: 6.0.4.0.0+ (x64)
Build ID: 717e0853dce50c33b61ea8541d24186e40e84c73
CPU threads: 4; OS: Windows 10.0; UI render: default; 
TinderBox: Win-x86_64@42, Branch:libreoffice-6-0, Time: 2018-04-05_03:10:17
Locale: de-DE (de_DE); Calc: group

and could not reproduce it there, but I noticed another problem that has probably the same cause.

If you resize the special characters dialog, then the character name, the "Hexadecimal" and the "Decimal" fields are reset to their initial values. I could reproduce this problem in both versions.
Comment 7 V Stuart Foote 2018-04-16 19:08:38 UTC
Can not confirm on Windows 10 Ent or Pro 64-bit en-US with
Version: 6.1.0.0.alpha0+ (x64)
Build ID: d246aa574571409046619254292698184c2545a3
CPU threads: 8; OS: Windows 10.0; UI render: GL (or Default) 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-04-16_02:10:59
Locale: en-US (en_US); Calc: group
Comment 8 Buovjaga 2018-04-23 09:49:09 UTC
(In reply to oleg.tolmatcev from comment #6)
> If you resize the special characters dialog, then the character name, the
> "Hexadecimal" and the "Decimal" fields are reset to their initial values. I
> could reproduce this problem in both versions.

What do you mean by "then the character name"?
In any case, please also try with a fresh master build: https://dev-builds.libreoffice.org/daily/master/Win-x86_64@42/current/
Comment 9 oleg.tolmatcev 2018-04-28 21:48:25 UTC
I tested again with the latest master.

Version: 6.1.0.0.alpha1+ (x64)
Build ID: e9ac3a9c1ee7689c4d591a68250666c95632bd2a
CPU threads: 4; OS: Windows 10.0; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-04-26_23:11:11
Locale: de-DE (de_DE); Calc: group

I could not reproduce the original problem, but I could reproduce the second problem.

If you resize the special characters dialog, then the character name, the "Hexadecimal" and the "Decimal" fields are reset to their initial values.

The character name is the name that is displayed below the large character box on the right. If you select the infinity character then it says INFINITY.
Comment 10 Dieter 2018-04-29 05:38:02 UTC
(In reply to oleg.tolmatcev from comment #9)

> If you resize the special characters dialog, then the character name, the
> "Hexadecimal" and the "Decimal" fields are reset to their initial values.
> 
> The character name is the name that is displayed below the large character
> box on the right. If you select the infinity character then it says INFINITY.

I can't resize the window "Special characters".
Comment 11 raal 2018-04-29 07:30:59 UTC
(In reply to oleg.tolmatcev from comment #9)
> I tested again with the latest master.
> 
> Version: 6.1.0.0.alpha1+ (x64)
> Build ID: e9ac3a9c1ee7689c4d591a68250666c95632bd2a
> CPU threads: 4; OS: Windows 10.0; UI render: default; 
> TinderBox: Win-x86_64@42, Branch:master, Time: 2018-04-26_23:11:11
> Locale: de-DE (de_DE); Calc: group
> 
> I could not reproduce the original problem, but I could reproduce the second
> problem.
> 
> If you resize the special characters dialog, then the character name, the
> "Hexadecimal" and the "Decimal" fields are reset to their initial values.
> 
> The character name is the name that is displayed below the large character
> box on the right. If you select the infinity character then it says INFINITY.

No repro with Version: 6.1.0.0.alpha1+
Build ID: 4dbce627d3643babaf90a93c70b365ff08abfca6
CPU threads: 4; OS: Linux 4.4; UI render: default; VCL: gtk2; 
TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2018-04-28_22:03:31

Maybe better is close  this one and open new bug for the problem "fields are reset to their initial values."
Comment 12 oleg.tolmatcev 2018-05-06 14:33:25 UTC
Tested again with

Version: 6.0.4.1 (x64)
Build-ID: a63363f6506b8bdc5222481ce79ef33b2d13c741
CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; 
Gebietsschema: de-DE (de_DE); Calc: group

Both problems are still present.
Comment 13 himajin100000 2018-05-08 06:05:37 UTC
I can reproduce this bug with

Version: 6.1.0.0.alpha1+ (x64)
Build ID: 08441d466dd70c203a519a133aaf1a5997adbbd3
CPU threads: 4; OS: Windows 10.0; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-05-07_01:12:11
Locale: en-US (ja_JP); Calc: CL

marking NEW

but I will not investigate this issue until build error I'm facing get resolved.
Comment 14 himajin100000 2018-05-08 06:10:50 UTC
I didn't notice two things are in discussion.
I just meant the following one was reproducible.

>If you resize the special characters dialog, then the character name, the "Hexadecimal" and the "Decimal" fields are reset to their initial values.
Comment 15 Dieter 2018-05-08 06:58:51 UTC
(In reply to himajin100000 from comment #14)
> I didn't notice two things are in discussion.

I think, this bug should focus on the second problem you was able to confirm.

Oleg, if the other problem is stilll reproducible for you (you made different statements about it in comment 6 and comment 9), you should open a new bug report. Otherwise there will be some confusion, I'm afraid.
Comment 16 V Stuart Foote 2018-05-08 14:15:25 UTC
OK, the STR were a bit unclear.

1. Open Writer
2. Open SpecialCharacter dialog
3. select a character from grid "x"
   - blue highlight of x cell on chart
   - LATIN SMALL LETTER X for name, Hexadecimal: U+ 78, Decimal: 120
4. click select, "x" added to Recent list and written to canvas
5. select a character from Favorites list "∞"
   - blue highlight of ∞ cell on list
   - gray highlight of x cell on chart
   - INFINITY for name, Hexadecimal: U+221E, Decimal:8734
6. click select, "∞" written to canvas
   - blue highlight of ∞ cell on list
   - gray highlight of x cell on chart
   - INFINITY for name, Hexadecinmal: U+221E, Decimal:8734
7. grab right edge of frame and drag right to resize
   - blue highlight of ∞ cell on list remains
   - gray highlight of x cell on chart
   - ∞ remains in the Char sample

 LATIN SMALL LETTER X for name, Hexadecimal: U+ 78, Decimal: 120


There is an issue on resize with the character selection from the Chart being retained and passing its values to the Name (aChar), Hex (aHexText), Decimal (aDecimalText) when a selection from Favorite characters or Recent characters is made [1]. The wrong mix of text values are shown with character selection from either list.

IIUC on resize, the bSelect for the Char (svxShowCharSet) gets rerun against the character map rather than the still active selection from the favorite list, likewise for selection from the recent list.

We look to need additional logic to hold or release the character from the favorites or recent list on rereading done at resize of the frame.

=-ref-=
[1] https://opengrok.libreoffice.org/xref/core/cui/source/dialogs/cuicharmap.cxx#925
Comment 17 V Stuart Foote 2018-05-08 14:21:02 UTC
Created attachment 141974 [details]
clip of the dialog with wrong strings pickedup after resize
Comment 18 Xisco Faulí 2018-06-04 10:17:32 UTC
Adding Akshay Deep to the loop
Comment 19 Caolán McNamara 2018-06-05 15:51:38 UTC
I think I have a fairly simple fix for it
Comment 20 Commit Notification 2018-06-05 20:08:41 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-6-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=b8bfa9051242393cc940382fd2a2f34af4db11af&h=libreoffice-6-1

Resolves: tdf#116876 don't reselect index on resize if it wouldn't change

It will be available in 6.1.0.1.

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 21 Commit Notification 2018-06-05 20:08:55 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

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

Resolves: tdf#116876 don't reselect index on resize if it wouldn't change

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 22 V Stuart Foote 2018-06-07 04:46:06 UTC
On Windows 10 Pro 64-bit en-US with
Version: 6.2.0.0.alpha0+ (x64)
Build ID: abb19edc79bd7d96827214d3b49f80e270e1c0b7
CPU threads: 8; OS: Windows 10.0; UI render: GL; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2018-06-06_17:02:23
Locale: en-US (en_US); Calc: group threaded

Verified. Thanks Caolán.
Comment 23 Commit Notification 2018-06-07 12:08:16 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-6-0":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=63e1546668ac464d1ba0b02ba5e76fb064e63100&h=libreoffice-6-0

Resolves: tdf#116876 don't reselect index on resize if it wouldn't change

It will be available in 6.0.6.

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.