Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.

Flicking cursor after update

Post Reply
JanDoggen
Posts: 12
Joined: Thu Sep 19, 2019 11:34 am

Flicking cursor after update

Post by JanDoggen »

After updating from
a Win 7 environment running TChromium 75.0.3770.100 in Delphi 10.3 Rio
to
a Win 10 environment running TChromium 83.5.0 in Delphi 10.4 Sydney
we experience a constantly flickering cursor. When the mouse hovers over almost any app, or the desktop or taskbar, the mouse flickers and the spinning wheel animation is visible almost 100% of the time (also flickering).

This is in VMWare environments. Disabling its mouse setting 'Gaming optimization' does not help.

We use a browser subprocess and initialize it from the main app with:

function InitializeTChromium : Boolean;
begin
Result := True; //Default true so application can always start

GlobalChromiumLoaded := False;
if (DirectoryExists('TTChromium') = True) then
begin
GlobalCEFApp := TCefApplication.Create;
GlobalChromiumLoaded := True;

GlobalCEFApp.DisableFeatures := 'NetworkService';
GlobalCEFApp.DisablePDFExtension := True;
GlobalCEFApp.DisableExtensions := True;
GlobalCEFApp.FlashEnabled := False;

GlobalCEFApp.FrameworkDirPath := 'TTChromium';
GlobalCEFApp.ResourcesDirPath := 'TTChromium';
GlobalCEFApp.LocalesDirPath := 'TTChromium\locales';

GlobalCEFApp.LogFile := 'TTChromium\TTChromiumDebug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_ERROR;

GlobalCEFApp.BrowserSubprocessPath := 'TTChromium\TTChromiumBrowser.exe';

try
// Suppress dialog when files are missing:
GlobalCEFApp.ShowMessageDlg := False;

if GlobalCEFApp.StartMainProcess then
begin
GlobalCEFApp.ShowMessageDlg := True;
end
else
begin
GlobalChromiumLoaded := False;
Result := False; // Prevent subprocesses from doing another Application.run
end;
except
GlobalChromiumLoaded := False;
end;
end
else
begin
Result := True; // Just start the app if Chromium can't be loaded. Check GlobalChromiumLoaded
end;
end;

The subprocess starts fine. It just sits idle:

UChromium.InitGlobaalMapVars;

GlobalCEFApp := TCefApplication.Create;

GlobalCEFApp.DisableFeatures := 'NetworkService';
GlobalCEFApp.DisablePDFExtension := True;
GlobalCEFApp.DisableExtensions := True;
GlobalCEFApp.FlashEnabled := False;
GlobalCEFApp.FrameworkDirPath := '.';
GlobalCEFApp.ResourcesDirPath := '.';
GlobalCEFApp.LocalesDirPath := '.\locales';
GlobalCEFApp.LogFile := '..\TTChromiumDebug.log';
GlobalCEFApp.SetCurrentDir := True;

GlobalCEFApp.OnProcessMessageReceived := UChromium.GlobalCEFApp_OnProcessMessageReceived; // Disabling this makes no difference

GlobalCEFApp.StartSubProcess;
GlobalCEFApp.Free;
GlobalCEFApp := nil;

Is there another setting we can try?

Thanks in advance
Jan
User avatar
salvadordf
Posts: 4016
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Flicking cursor after update

Post by salvadordf »

I'm not 100% sure but perhaps you are being affected by this CEF issue :
https://bitbucket.org/chromiumembedded/ ... extensions

That was an old issue that reappeared in some recent builds.

Please, download the latest CEF4Delphi version from GitHub and try it on a real Windows 10 PC without virtual machines.

I tested the "SubProcess" demo in a real Windows 10 (version 1909) computer and it worked fine even with these code lines :

Code: Select all

GlobalCEFApp.DisableFeatures := 'NetworkService';
GlobalCEFApp.DisablePDFExtension := True;
GlobalCEFApp.DisableExtensions := True;
GlobalCEFApp.FlashEnabled := False;
I also tested it on a VirtualBox PC with Windows 10 and it also worked correctly.
JanDoggen
Posts: 12
Joined: Thu Sep 19, 2019 11:34 am

Re: Flicking cursor after update

Post by JanDoggen »

I downloaded and installed 84.3.10 with 84.0.4147.105 and this solved the issue.

Thanks for the support
Post Reply