Mercurial > hg > orthanc-stone
comparison Framework/Scene2D/PanSceneTracker.cpp @ 959:13e078adfb94 toa2019082301
Better error log in fetch failure callback +
timeout 600sec in OrthancRestApiCommand +
guard against dead controller access in PanSceneTracker +
relaxed DicomStructureSet AddReferenceSlice method to accept extraneous adds
of the same slice (while trying to understand how it happens in the first place)
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Fri, 23 Aug 2019 14:16:45 +0200 |
parents | e42b491f1fb2 |
children | 2d8ab34c8c91 |
comparison
equal
deleted
inserted
replaced
958:769249e1f3b4 | 959:13e078adfb94 |
---|---|
35 | 35 |
36 | 36 |
37 void PanSceneTracker::PointerMove(const PointerEvent& event) | 37 void PanSceneTracker::PointerMove(const PointerEvent& event) |
38 { | 38 { |
39 ScenePoint2D p = event.GetMainPosition().Apply(originalCanvasToScene_); | 39 ScenePoint2D p = event.GetMainPosition().Apply(originalCanvasToScene_); |
40 | 40 |
41 GetController()->SetSceneToCanvasTransform( | 41 // The controller is a weak pointer. It could be deleted when the |
42 AffineTransform2D::Combine( | 42 // tracker is still alive (for instance, because of a lost WebGL |
43 originalSceneToCanvas_, | 43 // context) |
44 AffineTransform2D::CreateOffset(p.GetX() - pivot_.GetX(), | 44 if(GetController().get() != NULL) |
45 p.GetY() - pivot_.GetY()))); | 45 { |
46 GetController()->SetSceneToCanvasTransform( | |
47 AffineTransform2D::Combine( | |
48 originalSceneToCanvas_, | |
49 AffineTransform2D::CreateOffset(p.GetX() - pivot_.GetX(), | |
50 p.GetY() - pivot_.GetY()))); | |
51 } | |
46 } | 52 } |
47 | 53 |
48 void PanSceneTracker::Cancel() | 54 void PanSceneTracker::Cancel() |
49 { | 55 { |
50 GetController()->SetSceneToCanvasTransform(originalSceneToCanvas_); | 56 if(GetController().get() != NULL) |
57 { | |
58 GetController()->SetSceneToCanvasTransform(originalSceneToCanvas_); | |
59 } | |
51 } | 60 } |
52 | 61 |
53 } | 62 } |