Blinking cursor in TC 8.x 64bit
Moderators: Hacker, petermad, Stefan2, white
Blinking cursor in TC 8.x 64bit
I noticed that if enter a directory with many .lnk files(or many files with overlay icons).
The cursor and the file name under cursor will blinking in TC 8.x 64bit.
But there are not obvious blinking in TC 8.x 32bit.
It can turn off the "Show overlay icons" to solve this, but I prefer to keep the overlay icons.
And TC 8.x 32bit can not shown Google drive overlay icons.
Is anybody have the same problem?
The cursor and the file name under cursor will blinking in TC 8.x 64bit.
But there are not obvious blinking in TC 8.x 32bit.
It can turn off the "Show overlay icons" to solve this, but I prefer to keep the overlay icons.
And TC 8.x 32bit can not shown Google drive overlay icons.
Is anybody have the same problem?
- ghisler(Author)
- Site Admin
- Posts: 50923
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Sorry, I do not understand your report. WHERE is there a blinking cursor? In the command line? Or do you mean the mouse pointer?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Please see the pic as below for the "blinking cursor",
http://thumbsnap.com/G3lBHbSj
I can not snap the video, please refer to the following 4 pics, captured by every 0.1 sec.
http://thumbsnap.com/5crdd0JY
http://thumbsnap.com/d06TzLhA
http://thumbsnap.com/vPUWfjVo
http://thumbsnap.com/kCyGogKD
It will blinking around 0.5 sec, depends on files qty.
http://thumbsnap.com/G3lBHbSj
I can not snap the video, please refer to the following 4 pics, captured by every 0.1 sec.
http://thumbsnap.com/5crdd0JY
http://thumbsnap.com/d06TzLhA
http://thumbsnap.com/vPUWfjVo
http://thumbsnap.com/kCyGogKD
It will blinking around 0.5 sec, depends on files qty.
- ghisler(Author)
- Site Admin
- Posts: 50923
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Unfortunately I get a CloudFlare error - connection timed out. I will try again later.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Uploaded to another website:
First 0.1 sec
http://s1.directupload.net/images/140322/dw2gubdx.jpg
0.2 sec
http://s14.directupload.net/images/140322/s5ujsdau.jpg
0.3 sec
http://s14.directupload.net/images/140322/oj3ws6xt.jpg
0.4 sec
http://s14.directupload.net/images/140322/uooql5w2.jpg
Suppose due to the cursor will disappear in short time when loading the overlay icons, so it seems the cursor blinking.
First 0.1 sec
http://s1.directupload.net/images/140322/dw2gubdx.jpg
0.2 sec
http://s14.directupload.net/images/140322/s5ujsdau.jpg
0.3 sec
http://s14.directupload.net/images/140322/oj3ws6xt.jpg
0.4 sec
http://s14.directupload.net/images/140322/uooql5w2.jpg
Suppose due to the cursor will disappear in short time when loading the overlay icons, so it seems the cursor blinking.
- ghisler(Author)
- Site Admin
- Posts: 50923
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Thanks for the extra details! I will check why this only affects the 64-bit version.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50923
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
My investigation has lead to the following cause: When TC has loaded a new icon in the background thread, it sends a message to the main program. There the icon is inserted, and then InvalidateRect is called with just the rectangle around the icon to be updated.
Unfortunately the Windows listbox control reacts with 3 actions to InvalidateRect:
1. Remove the focus rectangle from the current item
2. Draw the item where the icon was changed
3. Re-add the focus rectangle to the current item
1 and 3 cause the flickering which you are observing. It happens also in 32-bit, although a bit less. I have tried to reduce this a bit by drawing icons directly instead of calling InvalidateRect, but I can't get rid of it completely.
For example, TC calls InvalidateRect for the entire list when you return to TC from another program, to re-load colors by file types or overlay icons. This causes the cursor to blink when you return to TC.
Unfortunately the Windows listbox control reacts with 3 actions to InvalidateRect:
1. Remove the focus rectangle from the current item
2. Draw the item where the icon was changed
3. Re-add the focus rectangle to the current item
1 and 3 cause the flickering which you are observing. It happens also in 32-bit, although a bit less. I have tried to reduce this a bit by drawing icons directly instead of calling InvalidateRect, but I can't get rid of it completely.
For example, TC calls InvalidateRect for the entire list when you return to TC from another program, to re-load colors by file types or overlay icons. This causes the cursor to blink when you return to TC.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com