OSDN Git Service

show 'this thread is broken.'
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 17 Dec 2004 16:10:38 +0000 (16:10 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 17 Dec 2004 16:10:38 +0000 (16:10 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1594 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/access.cpp
kita/src/libkita/access.h
kita/src/libkita/datinfo.cpp

index 506150d..8944097 100644 (file)
@@ -346,6 +346,12 @@ const int Access::dataSize() const
     return m_dataSize;
 }
 
+/* public */
+const bool Access::invalidDataReceived() const
+{
+    return m_invalidDataReceived;
+}
+
 //
 // access offlaw.cgi
 //
index 6d864d2..c9f54cd 100644 (file)
@@ -43,6 +43,7 @@ namespace Kita
         bool getupdate( int readNum );
         int responseCode();
         const int dataSize() const;
+        const bool invalidDataReceived() const;
 
     protected:
         void writeCacheData();
index 427ce6e..bd0da67 100644 (file)
@@ -742,7 +742,18 @@ bool DatInfo::isBroken()
 {
     QMutexLocker locker( &m_mutex );
 
-    return m_broken;
+    if ( m_broken ) return m_broken;
+
+    if ( m_access == NULL ) return FALSE;
+
+    int rescode = m_access->responseCode();
+    bool invalid = m_access->invalidDataReceived();
+
+    /* see also Access::slotReceiveThreadData() */
+    if ( invalid && ( rescode == 200 || rescode == 206 ) ) return TRUE;
+
+    /* maybe "Dat Ochi" */
+    return FALSE;
 }
 
 /* public */