~phablet-team/qtorganizer5-eds/rtm-14.09

« back to all changes in this revision

Viewing changes to qorganizer/qorganizer-eds-requestdata.cpp

  • Committer: CI bot
  • Author(s): Renato Araujo Oliveira Filho
  • Date: 2014-05-02 14:24:16 UTC
  • mfrom: (54.1.8 fix-1309186)
  • Revision ID: ps-jenkins@lists.canonical.com-20140502142416-zw41l0pct7m9cicg
Check if request was destroyed by the caller before continue with request process. Fixes: 1309186

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
RequestData::RequestData(QOrganizerEDSEngine *engine, QtOrganizer::QOrganizerAbstractRequest *req)
27
27
    : m_parent(engine),
28
28
      m_req(req),
29
 
      m_client(0)
 
29
      m_client(0),
 
30
      m_canceling(false)
30
31
{
31
32
    QOrganizerManagerEngine::updateRequestState(req, QOrganizerAbstractRequest::ActiveState);
32
33
    m_cancellable = g_cancellable_new();
50
51
GCancellable* RequestData::cancellable() const
51
52
{
52
53
    g_cancellable_reset(m_cancellable);
53
 
    g_object_ref(m_cancellable);
 
54
    //g_object_ref(m_cancellable);
54
55
    return m_cancellable;
55
56
}
56
57
 
57
58
bool RequestData::isLive() const
58
59
{
59
 
    return !m_req.isNull();
 
60
    return (!m_req.isNull() &&
 
61
            (m_req->state() == QOrganizerAbstractRequest::ActiveState));
60
62
}
61
63
 
62
64
ECalClient *RequestData::client() const
71
73
 
72
74
void RequestData::cancel()
73
75
{
 
76
    m_canceling = true;
74
77
    if (m_cancellable) {
75
78
        g_cancellable_cancel(m_cancellable);
76
79
        m_parent->waitForRequestFinished(m_req, 0);
77
 
        g_object_unref(m_cancellable);
78
80
        m_cancellable = 0;
79
81
    }
 
82
    m_canceling = false;
 
83
}
 
84
 
 
85
bool RequestData::cancelled() const
 
86
{
 
87
    if (!m_req.isNull()) {
 
88
        return m_canceling;
 
89
    }
 
90
    return false;
 
91
}
 
92
 
 
93
void RequestData::continueCancel()
 
94
{
80
95
    QOrganizerManagerEngine::updateRequestState(m_req, QOrganizerAbstractRequest::CanceledState);
81
96
}
82
97