Closed
Bug 1076868
Opened 10 years ago
Closed 10 years ago
Fix TiledContentClient's RemoveTextureFromCompositableAsync() calls.
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla35
People
(Reporter: sotaro, Assigned: sotaro)
References
Details
Attachments
(1 file, 2 obsolete files)
(deleted),
patch
|
sotaro
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a clone of Bug #1075136 +++
TiledContentClient has a problem of how to call RemoveTextureFromCompositableAsync(). It caused problems like Bug 1075136 Comment 4 and Bug 1075136 Comment 6.
It becomes valid problem when Bug 1075136 is committed. But current gecko's code should also have a potential problem to cause this.
Assignee | ||
Comment 1•10 years ago
|
||
The following log says when OpRemoveTextureAsync is arrived to parent side, PCompositableParent is already destructed.
> 10-02 09:22:51.148 253 834 I Gecko : IPDL protocol error: bad ID for PLayerTransaction
> 10-02 09:22:51.148 253 834 I Gecko : IPDL protocol error: Error deserializing 'compositableParent' (PCompositable) member of 'OpRemoveTextureAsync'
> 10-02 09:22:51.148 253 834 I Gecko : IPDL protocol error: Error deserializing 'Edit[i]'
> 10-02 09:22:51.148 253 834 I Gecko : IPDL protocol error: Error deserializing 'nsTArray'
Assignee | ||
Comment 2•10 years ago
|
||
TiledContentClient(CompositableClient) frees TiledBuffers in destructors and it requests OpRemoveTextureAsync message send. But but the actual message send, TiledContentClient(CompositableClient) destroy PCompositableChild/PCompositableParent.
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → sotaro.ikeda.g
Assignee | ||
Comment 3•10 years ago
|
||
Assignee | ||
Comment 4•10 years ago
|
||
Update the patch based on Bug 1067455.
Attachment #8498919 -
Attachment is obsolete: true
Assignee | ||
Comment 5•10 years ago
|
||
I confirmed that a problem of Bug 1075136 Comment 5 did not happen with bug 1075136 fix.
Assignee | ||
Updated•10 years ago
|
Attachment #8499166 -
Flags: review?(nical.bugzilla)
Comment 6•10 years ago
|
||
Comment on attachment 8499166 [details] [diff] [review]
patch - Fix RemoveTextureFromCompositableAsync() call handling
Review of attachment 8499166 [details] [diff] [review]:
-----------------------------------------------------------------
r=me with the nit below addressed.
::: gfx/layers/ipc/LayerTransactionParent.cpp
@@ +908,5 @@
> + ImageBridgeParent::ReplyRemoveTexture(
> + GetChildProcessId(),
> + OpReplyRemoveTexture(true, // isMain
> + op.holderId(),
> + op.transactionId()));
Please put this block of code (which is identical to the one in CompositableTransactionParent.cpp) into a method of CompositableTransactionParent (something like CompositableTransactionParent::HandleRemoveTextureAsync(const OpRemoveTextureAsync& aOp); that you can all from both CompostableTransactionParent and LayerTransactionParent instead of duplicating it.
Attachment #8499166 -
Flags: review?(nical.bugzilla) → review+
Assignee | ||
Comment 7•10 years ago
|
||
Some codes are duplicating, but I do not find enough reason as to create a function.
Assignee | ||
Comment 8•10 years ago
|
||
Fix build failure.
Attachment #8499166 -
Attachment is obsolete: true
Attachment #8500081 -
Flags: review+
Assignee | ||
Comment 9•10 years ago
|
||
Assignee | ||
Comment 10•10 years ago
|
||
Assignee | ||
Comment 11•10 years ago
|
||
Comment 12•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in
before you can comment on or make changes to this bug.
Description
•