본문 바로가기

프로그래밍/버그 & 에러 리포팅

IWebBrowser2 사용시 화면 갱신이 잘 되지 않는 경우

IWebBrowser2 사용 시 navigate 후 화면이 이전 화면 또는 흰색으로 표시되는 경우가 있다. 물론 해당 url은 이미 로딩이 완료된 상태이고 윈도우를 리사이즈하거나 액션을 통해 갱신을 하는 경우 제대로 표시가 된다.

위와 같은 이슈의 근본적인 원인은 찾아내지 못했다.
강제로 painting 처리를 해주고 메시지를 날려주고 별 짓을 다 했지만 정상처리가 되지 않았고 어렴풋이 원인으로 보이는 부분은 해당 url의 캐시가 남아 있는 경우 즉 처음 로딩하는 페이지가 아닌 경우 자주 발생했다.

host window의 OnPaint 시점과 OnDocumentComplate 시점의 차이로 간주하고 OnDocumentComplete에서 강제로 UpdateWindow() 함수를 호출 하는 것으로 이슈는 마무리 했다.

하지만 근본적인 원인을 파악하지 못했기에 여전히 찝찝한 기분이다.