Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App hanging (repaint issues) after resizing window or after a longer period of using application #178

Closed
cztomczak opened this issue Feb 12, 2016 · 1 comment
Milestone

Comments

@cztomczak
Copy link
Owner

It happens after some time of resizing window. Browser view area will become only portion of the window with scrollbars being misplaced. Sometimes whole window will menu bar buttons and borders will become just white background.

Maybe this is upstream CEF Issue #1882.

There was new function CefBrowserHost::NotifyMoveOrResizeStarted() added in upstream CEF Issue #1208. In cefclient in RootWndProc there is this code:

case WM_MOVING:
    case WM_MOVE:
      browser->GetHost()->NotifyMoveOrResizeStarted();
      return 0;

I will add it and see if it helps. But looks like this is only for <select> and similar controls on a page.

Created a topic on CEF Forum in regards to NotifyMoveOrResizedStarted() usage: https://magpcss.org/ceforum/viewtopic.php?f=6&t=13885

Debugging in VS 2013 gave this FATAL:

[0212/205153:FATAL:hwnd_message_handler.cc(1867)] Failed to create DC in BeginPaint(). GLE = 1425, GDI object count: 10000, GDI peak count: 10001 

Reported on CEF Forum: https://magpcss.org/ceforum/viewtopic.php?f=6&t=13886&p=29628#p29628

@cztomczak cztomczak added this to the Chrome 47 milestone Feb 12, 2016
cztomczak added a commit that referenced this issue Feb 12, 2016
Tray icon loaded image resource for each of Windows Message and
these objects were never freed. This caused GDI objects peak
at 10001 and FATAL in Chrome to inform about this resource leak.

Call NotifyMoveOrResizeStarted() when moving/resizing window.
This is required to notify <select> or other controls.

Fixed WM_ERASEBKGND - should return 0.

Added WM_PAINT with BeginPaint and EndPaint - because it exists
in cefclient. Not sure why these calls are there, there is no
actual painting being done. But let's mimic cefclient behavior
just to be safe.
@cztomczak
Copy link
Owner Author

Fixed in commit 107e293. This was a serious issue that would reveal itself not only during resize, but also after longer period of running application - tray icon was loaded thousands of times and never freed. A new binary release will be ready in a moment.

@cztomczak cztomczak changed the title Repaint issues when resizing window App hanging (repaint issues) after resizing window or after a longer period of using application Feb 12, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant