[QScintilla] Bug report: Caret position is incorrect if window dragged across monitors

Phil Thompson phil at riverbankcomputing.com
Thu May 24 07:32:23 BST 2018


Can you try with an example using QTextEdit rather than QScintilla? That should confirm whether or not it is a Qt or a QScintilla problem?

Phil

> On 23 May 2018, at 11:50 pm, Scott Bloom <scott at towel42.com> wrote:
> 
> Phil         
>  
> I can help work on this, but Ill probably need some help. I do have a windows setup.
> 
> Scott
>  
> From: QScintilla <qscintilla-bounces at riverbankcomputing.com> On Behalf Of Scott Bloom
> Sent: Wednesday, May 23, 2018 15:41
> To: cowwoc <cowwoc at bbs.darktech.org>; Phil Thompson <phil at riverbankcomputing.com>
> Cc: qscintilla at riverbankcomputing.com
> Subject: Re: [QScintilla] Bug report: Caret position is incorrect if window dragged across monitors
>  
> To duplicate under windows 10:
> 	• 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
> 	• Run the example-Qt4Qt5 app as shipped with the QScintilla core
> 	• 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 <cowwoc at bbs.darktech.org> 
> Sent: Wednesday, May 23, 2018 15:19
> To: Scott Bloom <scott at towel42.com>; Phil Thompson <phil at riverbankcomputing.com>
> Cc: qscintilla at riverbankcomputing.com
> 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 <cowwoc at bbs.darktech.org> 
> Sent: Wednesday, May 23, 2018 15:15
> To: Scott Bloom <scott at towel42.com>; Phil Thompson <phil at riverbankcomputing.com>
> Cc: qscintilla at riverbankcomputing.com
> 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 <cowwoc at bbs.darktech.org> 
> Sent: Wednesday, May 23, 2018 15:06
> To: Scott Bloom <scott at towel42.com>; Phil Thompson <phil at riverbankcomputing.com>
> Cc: qscintilla at riverbankcomputing.com
> 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 athttps://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 <qscintilla-bounces at riverbankcomputing.com> On Behalf Of cowwoc
> Sent: Wednesday, May 23, 2018 13:42
> To: Phil Thompson <phil at riverbankcomputing.com>
> Cc: qscintilla at riverbankcomputing.com
> 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 <cowwoc at bbs.darktech.org> wrote:
>  
> On 2018-05-23 8:46 AM, Phil Thompson wrote:
> On 22 May 2018, at 3:48 am, cowwoc <cowwoc at bbs.darktech.org> 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:
> 
> 	• Plug in a second monitor (any will do) so your laptop sees multiple monitors.
> 	• 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.
> 	• Download and install the Windows 10 ISO which you can download for free from https://www.microsoft.com/en-ca/software-download/windows10
> 	• You can run Windows 10 without a license for a short period of time (30 days I believe) so this isn't a problem.
> 	• Configure the VM with 2 virtual monitors and you should be able to reproduce the problem.
> 	• 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
> 
>  
> 
>  
> 
>  
> 



More information about the QScintilla mailing list