21 #include "../Misc.h" |
21 #include "../Misc.h" |
22 |
22 |
23 LDDocumentPointer::LDDocumentPointer() : m_pointer (null) {} |
23 LDDocumentPointer::LDDocumentPointer() : m_pointer (null) {} |
24 |
24 |
25 // ============================================================================= |
25 // ============================================================================= |
26 // ----------------------------------------------------------------------------- |
26 // |
27 LDDocumentPointer::LDDocumentPointer (LDDocument* ptr) : |
27 LDDocumentPointer::LDDocumentPointer (LDDocument* ptr) : |
28 m_pointer (ptr) |
28 m_pointer (ptr) |
29 { |
29 { |
30 addReference (); |
30 addReference (); |
31 } |
31 } |
32 |
32 |
33 // ============================================================================= |
33 // ============================================================================= |
34 // ----------------------------------------------------------------------------- |
34 // |
35 LDDocumentPointer::LDDocumentPointer (const LDDocumentPointer& other) : |
35 LDDocumentPointer::LDDocumentPointer (const LDDocumentPointer& other) : |
36 m_pointer (other.pointer()) |
36 m_pointer (other.pointer()) |
37 { |
37 { |
38 addReference (); |
38 addReference (); |
39 } |
39 } |
40 |
40 |
41 // ============================================================================= |
41 // ============================================================================= |
42 // ----------------------------------------------------------------------------- |
42 // |
43 LDDocumentPointer::~LDDocumentPointer() |
43 LDDocumentPointer::~LDDocumentPointer() |
44 { |
44 { |
45 removeReference(); |
45 removeReference(); |
46 } |
46 } |
47 |
47 |
48 // ============================================================================= |
48 // ============================================================================= |
49 // ----------------------------------------------------------------------------- |
49 // |
50 void LDDocumentPointer::addReference() |
50 void LDDocumentPointer::addReference() |
51 { |
51 { |
52 if (pointer() != null) |
52 if (pointer() != null) |
53 pointer()->addReference (this); |
53 pointer()->addReference (this); |
54 } |
54 } |
55 |
55 |
56 // ============================================================================= |
56 // ============================================================================= |
57 // ----------------------------------------------------------------------------- |
57 // |
58 void LDDocumentPointer::removeReference() |
58 void LDDocumentPointer::removeReference() |
59 { |
59 { |
60 if (pointer() != null) |
60 if (pointer() != null) |
61 pointer()->removeReference (this); |
61 pointer()->removeReference (this); |
62 } |
62 } |
63 |
63 |
64 // ============================================================================= |
64 // ============================================================================= |
65 // ----------------------------------------------------------------------------- |
65 // |
66 LDDocumentPointer& LDDocumentPointer::operator= (LDDocument* ptr) |
66 LDDocumentPointer& LDDocumentPointer::operator= (LDDocument* ptr) |
67 { |
67 { |
68 if (ptr != pointer()) |
68 if (ptr != pointer()) |
69 { |
69 { |
70 removeReference(); |
70 removeReference(); |