Skip to content

GC operations do not reflect controls to Control#print() #511

@HeikoKlare

Description

@HeikoKlare

Every GC stores the operations executed on it to allow their reexcution on another handle if a handle for a differen zoom is requested. This requires every operation executed on the GC handle to be tracked and wrapped into such a reexecutable operation. One kind of operation that was missed when introducing these operations are the implementations of Control#print(), which directly access the GC handle to print the control contents into it.
The following flow will thus fail:

  • Create a GC onto any Drawable, using a zoom of X
  • Execute Control#print(GC) for any control in the GC created before
  • Retrieve the GC handle for a zoom != X and use it to draw the contents somewhere

This flow will yield an empty result.

Since this functionality seems to be used very seldom (we did not have any reports about broken behavior so far) and since it could potentially be wrapped into an ImageGcDrawer (in case #501 is resolved), this is only for tracking purposes but not supposed to be addressed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    HiDPIA HiDPI-Related Issue or FeatureSWTIssue for SWT

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions