| Summary: | NULL cairo surface in draw event | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Martin Stransky <stransky> |
| Component: | firefox | Assignee: | Gecko Maintainer <gecko-bugs-nobody> |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 15 | CC: | gecko-bugs-nobody, jhorak, mclasen |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-04-15 04:25:04 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
FYI. cairo_status(cr) returns CAIRO_STATUS_SUCCESS before cairo_get_target() call. Seems to be caused by internal/system cairo mix inside firefox. But it's still strange somehow ... I don't see how this is a gtk3 problem, really. Our package doesn't even have support for gtk3 in the sources, let alone built. It's still somewhat experimental code that has yet to be merged upstream, so closing this out I guess. Martin, reopen if you disagree. |
Description of problem: cairo_t in gtk3 draw event does not have a valid target. cairo_get_target(cr) returns null. Version-Release number of selected component (if applicable): gtk3-3.0.0-1.fc15.i686 cairo-1.10.2-3.fc15.i686 How reproducible: Not sure. I work on firefox4 gtk3 port and it happens here. Additional info: gboolean expose_event_cb(GtkWidget *widget, cairo_t *cr) { cairo_surface_t* target = cairo_get_target(cr); assert(target); - the code asserts here. But if I stop it in gdb, then: (gdb) p target $1 = (cairo_surface_t *) 0x0 (gdb) p /x cairo_get_target(cr) $3 = 0xb3574680 It looks like the cairo surface is somehow created when the code is evaluated in gdb.