Does the problem exist, in the tortoiseHG if opened on a scaled screen?
Scott
*From:*cowwoc <[email protected]>
*Sent:* Wednesday, May 23, 2018 17:03
*To:* Scott Bloom <[email protected]>; Phil Thompson
<[email protected]>
*Cc:* [email protected]
*Subject:* Re: [QScintilla] Bug report: Caret position is incorrect if
window dragged across monitors
Hi Scott,
Thanks for reproducing the problem.
I tried digging into example-Qt4Qt5 but I know nothing about Qt and
frankly was turned off not being able to find a pre-built version of
qmake (even after installing the Qt SDK). Are you able to publish a
pre-built executable of example-Qt4Qt5 for me to try out?
Thanks,
Gili
On 2018-05-23 6:40 PM, Scott Bloom wrote:
To duplicate under windows 10:
1. Setup two monitors, resolution doesn’t matter, however the
Scale & layout option (windows 10), “Change the size of text,
apps and other items” to 125% on one screen
2. Run the example-Qt4Qt5 app as shipped with the QScintilla core
3. In the screen with magnification, just type, you will see the
visible cursor is NOT where it should be.
I have confirmed it doesn’t happen with SciTE
It doesn’t appear it has anything to do with moving, just having
the window open on the scaled screen.
Gili, can you confirm that ?
Scott
*From:*cowwoc <[email protected]>
<mailto:[email protected]>
*Sent:* Wednesday, May 23, 2018 15:19
*To:* Scott Bloom <[email protected]> <mailto:[email protected]>;
Phil Thompson <[email protected]>
<mailto:[email protected]>
*Cc:* [email protected]
<mailto:[email protected]>
*Subject:* Re: [QScintilla] Bug report: Caret position is
incorrect if window dragged across monitors
Thanks Scott. As far as I can tell, this bug isn't 4k specific.
If I change my 1080p monitor to have the same scaling factor as
the 4k monitor and drag TortoiseHg across the problem does not
occur. The bug seems tied to different scaling factors, regardless
of the monitor resolution.
Gili
On 2018-05-23 6:17 PM, Scott Bloom wrote:
I don’t have a 4k monitor, but I will try to play with it on a
multimonitor PC and see if I can set the scaling factor on one
screen and not the other (all three screens are the same
resolution here)
There is not (that I know of) a QScintialla public test app
Scott
*From:*cowwoc <[email protected]>
<mailto:[email protected]>
*Sent:* Wednesday, May 23, 2018 15:15
*To:* Scott Bloom <[email protected]>
<mailto:[email protected]>; Phil Thompson
<[email protected]> <mailto:[email protected]>
*Cc:* [email protected]
<mailto:[email protected]>
*Subject:* Re: [QScintilla] Bug report: Caret position is
incorrect if window dragged across monitors
It just tested SciTE and it works fine.
Do you have an equivalent program that uses QScintilla?
PS: Using TortoiseHg, if I keep the application on the same
monitor and change its scaling factor the bug does not occur.
The bug only seems to occur when the application is dragged
from one monitor to another. My guess is that when the
application is sitting on one monitor and the scaling factor
is changed, it receives and responds to an event. But when the
application is dragged across monitors it does not recieve a
scaling-specific event and as such it doesn't think to update
the DPI accordingly. I would be surprised if this logic was
TortoiseHg-specific (it seems like something that should be
handled by the lower layers) but who knows...
Thanks,
Gili
On 2018-05-23 6:08 PM, Scott Bloom wrote:
Understood.
You may want to try SciTE.
That is a base editor, tied to the core Scintilla widget,
not used QScintilla (which is a Qt wrapper for the core)
In reality, the TortoiseHg devs, need to work on this, to
see if its their bug first..
This could be due to the 4k to HD resolution swap…
Scott
*From:*cowwoc <[email protected]>
<mailto:[email protected]>
*Sent:* Wednesday, May 23, 2018 15:06
*To:* Scott Bloom <[email protected]>
<mailto:[email protected]>; Phil Thompson
<[email protected]>
<mailto:[email protected]>
*Cc:* [email protected]
<mailto:[email protected]>
*Subject:* Re: [QScintilla] Bug report: Caret position is
incorrect if window dragged across monitors
Hi Scott,
I'm not affiliated with TortoiseHg. I'm just an end-user.
As such, I have no idea how to create a minimal testcase
outside of TortoiseHg. When I filed a bug report at
https://bitbucket.org/tortoisehg/thg/issues/5086/caret-position-is-incorrect-if-window
I attached a video demonstrating the problem. Hopefully
that'll help.
If you guys have a stand-alone application I could run, I
can try reproducing the problem with it as well.
Thanks,
Gili
On 2018-05-23 4:45 PM, Scott Bloom wrote:
I have a PC with multiple monitors..
However, looking at the issue, there is no minimal
testcase. There is also nothing saying it’s a bug in
Scintilla, QScintilla or tortoisehg. It could be any
of the three.
Why is the assumption being made that its QScintilla?
Scott
*From:*QScintilla
<[email protected]>
<mailto:[email protected]> *On
Behalf Of *cowwoc
*Sent:* Wednesday, May 23, 2018 13:42
*To:* Phil Thompson <[email protected]>
<mailto:[email protected]>
*Cc:* [email protected]
<mailto:[email protected]>
*Subject:* Re: [QScintilla] Bug report: Caret position
is incorrect if window dragged across monitors
On 2018-05-23 11:09 AM, Phil Thompson wrote:
On 23 May 2018, at 3:01 pm, cowwoc<[email protected]>
<mailto:[email protected]> wrote:
On 2018-05-23 8:46 AM, Phil Thompson wrote:
On 22 May 2018, at 3:48 am,
cowwoc<[email protected]>
<mailto:[email protected]> wrote:
Sorry, I forgot to include the bug
report:https://bitbucket.org/tortoisehg/thg/issues/5086/caret-position-is-incorrect-if-window
Thank you,
Gili
On 2018-05-21 9:13 PM, cowwoc wrote:
Hi,
Can someone please take a look at this bug
report which seems to affect your project?
Sorry, I don't have the equipment needed to
reproduce the problem.
Phil
Hi Phil,
Which equipment are you missing? A video card with 2
ports? 2 monitors? Or a copy of Windows?
...and a PC.
Phil
Fortunately for you, that's not a problem :) Assuming
you have a Mac laptop:
1. Plug in a second monitor (any will do) so your
laptop sees multiple monitors.
2. Fire up a virtual machine of your choosing. I used
VMWare Workstation, which is equivalent to VMWare
Fusion on Mac. I believe VirtualBox (which is
free) will work just as well.
3. Download and install the Windows 10 ISO which you
can download for free from
https://www.microsoft.com/en-ca/software-download/windows10
4. You can run Windows 10 without a license for a
short period of time (30 days I believe) so this
isn't a problem.
5. Configure the VM with 2 virtual monitors and you
should be able to reproduce the problem.
6. I just tried it in VMWare Workstation and it
worked for me.
I haven't been able to get this working (yet) using a
single physical monitor. See
https://superuser.com/questions/1325393/how-to-use-multiple-virtual-monitors-if-host-has-a-single-monitor
But it's possible that VirtualBox is better in this
regard than VMWare Workstation.
Gili