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

DirectWrite may fail to render text in certain enviromnents #348

Closed
yukawa opened this issue Jan 10, 2016 · 1 comment
Closed

DirectWrite may fail to render text in certain enviromnents #348

yukawa opened this issue Jan 10, 2016 · 1 comment
Assignees

Comments

@yukawa
Copy link
Collaborator

yukawa commented Jan 10, 2016

Environment

Reportedly only on Windows 7. There is no report from Windows 8 and above users. Here is the list of device names reported at Google Japanese Input user forum.

  • HP ZBook14
  • DELL Optiplex 9020
  • ATI Mobility Radeon HD 4250 Graphics
  • NVIDIA GeForce GTX 570
  • GeForce 8800GT (Driver version 341.81)

Steps to reproduce

  1. Build Mozc 2.17.2288.102 for Windows.
  2. Install Mozc into Windows 7 SP1.
  3. Focus in a text field.
  4. Type and hit space key to convert it.

Expected behavior

  • After step 4, candidate window is correctly rendered with candidate strings.

Actual behavior

  • After step 4, no text is rendered on the candidate window. Only background color is rendered.

Internal issue id 23803925

@yukawa yukawa self-assigned this Jan 10, 2016
yukawa pushed a commit that referenced this issue Jan 10, 2016
We decided to disable DirectWrite in text rendring on Windows until we
figure out the root cause of #348.

BUG=#348
TEST=
REF_BUG=23803925
REF_CL=102326567
yukawa added a commit that referenced this issue Aug 7, 2016
Interestingly, rendering issues reported in #348 were only fron Windows
Vista/7 users.  Thus it's worth trying to re-enable DirectWrite-based
text rendering, which has been disabled by a previous CL [1], only on
newer platforms.  This CL uses Windows 8.1 as the minimum OS version to
do that because it is the first Windows OS that supports color-Emoji
rendering.

 [1]: f1deddf

BUG=#348
TEST=
REF_BUG=23803925
REF_CL=114070280
REF_TIME=2016-02-07T16:28:27-08:00
REF_TIME_RAW=1454891307 -0800
yukawa added a commit that referenced this issue Nov 20, 2016
The root cause of #348 is the lack of D2DERR_RECREATE_TARGET handling in
|DirectWriteTextRenderer::dc_render_target_|.  We can easily reproduce
this issue by manually disabling a display adaptor on the device
manager.

Note that we actually have had D2DERR_RECREATE_TARGET handling for
|dc_render_target_->EndDraw()|, which, however, has never worked because
any failure of |dc_render_target_->BindDC(dc, &total_rect)| can cause
early exit.

With this CL, we can more reliably recover from D2DERR_RECREATE_TARGET
state.

BUG=#348
TEST=manually done
REF_BUG=23803925
REF_CL=137123575
REF_TIME=2016-10-24T23:53:42-07:00
REF_TIME_RAW=1477378422 -0700
@yukawa
Copy link
Collaborator Author

yukawa commented Dec 13, 2016

Seems that e253375 indeed fixed most of cases. Let's close this for now and use a separate bug for remaining issues (if we still have).

@yukawa yukawa closed this as completed Dec 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant