https://bugs.winehq.org/show_bug.cgi?id=50319
Bug ID: 50319 Summary: Powerpoint 2013/365: cursor not moved when clicking in current text box Product: Wine Version: 6.0-rc2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: rcorreia31@gmail.com Distribution: ---
Created attachment 68898 --> https://bugs.winehq.org/attachment.cgi?id=68898 Simple Powerpoint file containing two text boxes
Running wine-6.0-rc2 compiled from source. Same issue with previous 5.x versions. Installation done in two different clean prefixes. Reproduced with KDE Plama 5.20.1 and Xfce 4.16pre1, both compiled from sources, on Centos 8.3 Both Office 32bit versions were installed using the recommendations from WineHQ. Office 2013 : https://appdb.winehq.org/objectManager.php?sClass=version&iId=26323 Office 365 (2016) : https://appdb.winehq.org/objectManager.php?sClass=version&iId=35527
Office 2013 : winetricks msxml6 Office 365 : winetricks msxml3 msxml6 riched20 riched30
Two registry updates done for 2013 and 365: . HKCU\Software\Wine\Direct3D\MaxVersionGL (DWORD) : 30002 (hex) . HKCU\Software\Wine\Direct2D\max_version_factory (DWORD) : 0
Two files copied for 2013 and 365: cp "./Common Files/Microsoft Shared/ClickToRun/AppvIsvSubsystems32.dll" "./Microsoft Office/root/Office16" cp "./Common Files/Microsoft Shared/ClickToRun/C2R32.dll" "./Microsoft Office/root/Office16"
Problem: clicking in the current text box does not set the cursor to the clicked position. To reproduce: . Create two text boxes in Powerpoint. I.E.: one for the title and one for the body ⇒ test case attached WineTestCase.pptx . Add some text to both. . Click on the text of a text box: mouse cursor is set to the right location. . Click on another part of the text in the same current text box: text box focus is lost and the mouse cursor is not set to where we clicked. In fact the mouse cursor is not displayed anymore. If we click on any character in the other non-current text box: the cursor moves to where we clicked as expected. So the problem only occurs when we want to put the cursor on another location within the text box we are already in.
There are another problems that are maybe a side effect of this one: . Double-click on a text of another text box: the text is not selected. A first click is necessary to set the focus. . Select a text by clicking and moving the mouse within the current text box: the text is not selected.
No workaround found except first reselecting the text box. I.E. Esc+left click, Right+Left click.
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #1 from Rui rcorreia31@gmail.com --- For information: same behavior with Crossover 20.0.2 and Office 365
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- I think the issue with it was about missing hittesting support in Direct2D geometries. Could you attach plain terminal output to confirm?
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #3 from Rui rcorreia31@gmail.com --- Created attachment 68900 --> https://bugs.winehq.org/attachment.cgi?id=68900 Stdout up to reatively clicking on the same text box
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #4 from Rui rcorreia31@gmail.com --- Created attachment 68901 --> https://bugs.winehq.org/attachment.cgi?id=68901 Full stdout until quiting Powerpoint 365
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #5 from Rui rcorreia31@gmail.com --- Here attached are the stdouts : . First: stdout since starting Powerpoint 365 until clicking a few times within the same text box. . Second : same as first plus all the messages until quiting Powerpoint 365 Thanks!
https://bugs.winehq.org/show_bug.cgi?id=50319
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |d2d
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- I think it's about this one:
--- fixme:d2d:d2d_rectangle_geometry_StrokeContainsPoint ---
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #7 from Rui rcorreia31@gmail.com --- Indeed it really seems to be caused by Direct2d. I have tried with old Office 2007 and 2010 and it worked fine and no d2d call at all in stdout.
From what I see here, Office has switched to Direct2D starting with version
2013: https://stackoverflow.com/questions/18124048/which-api-microsoft-word-office...
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #8 from Rui rcorreia31@gmail.com --- For the sake of trying I have used an OS d2d1.dll. Most of the fonts were not shown but it allowed me to try clicking. It worked as expected: clicking on the current textbox did put the cursor at the right place.
https://bugs.winehq.org/show_bug.cgi?id=50319
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Summary|Powerpoint 2013/365: cursor |Powerpoint 2013/365: cursor |not moved when clicking in |not moved when clicking in |current text box |current text box | |(d2d_rectangle_geometry_Str | |okeContainsPoint is a stub)
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming on behalf of OP and refining some fields.
Wine source:
https://source.winehq.org/git/wine.git/blob/e377786a71c3b6eab5bc11c0b1c9c7c3...
--- snip --- 3992 static HRESULT STDMETHODCALLTYPE d2d_rectangle_geometry_StrokeContainsPoint(ID2D1RectangleGeometry *iface, 3993 D2D1_POINT_2F point, float stroke_width, ID2D1StrokeStyle *stroke_style, const D2D1_MATRIX_3X2_F *transform, 3994 float tolerance, BOOL *contains) 3995 { 3996 FIXME("iface %p, point %s, stroke_width %.8e, stroke_style %p, transform %p, tolerance %.8e, contains %p stub!\n", 3997 iface, debug_d2d_point_2f(&point), stroke_width, stroke_style, transform, tolerance, contains); 3998 3999 return E_NOTIMPL; 4000 } --- snip ---
$ wine --version wine-6.0-rc4
Regards
https://bugs.winehq.org/show_bug.cgi?id=50319
--- Comment #10 from Henri Verbeet hverbeet@gmail.com --- Commit 1fceac2382b3081108ee29c52aeaa95148e973a2 implements d2d_rectangle_geometry_StrokeContainsPoint(); does that help?