-rw-r--r-- | microkde/kio/kio/kdirwatch.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/microkde/kio/kio/kdirwatch.cpp b/microkde/kio/kio/kdirwatch.cpp index 98d24e0..1596d1f 100644 --- a/microkde/kio/kio/kdirwatch.cpp +++ b/microkde/kio/kio/kdirwatch.cpp @@ -574,49 +574,50 @@ void KDirWatchPrivate::addEntry(KDirWatch* instance, const QString& _path, } } #endif } else { (*it).addClient(instance); kdDebug(7001) << "Added already watched Entry " << path << " (now " << (*it).clients() << " clients)" << QString(" [%1]").arg(instance->name()) << endl; } return; } // we have a new path to watch struct stat stat_buf; bool exists = (stat(QFile::encodeName(path), &stat_buf) == 0); Entry newEntry; m_mapEntries.insert( path, newEntry ); // the insert does a copy, so we have to use <e> now Entry* e = &(m_mapEntries[path]); if (exists) { - e->isDir = S_ISDIR(stat_buf.st_mode); + QFileInfo fi ( path ); + e->isDir = fi.isDir(); if (e->isDir && !isDir) qWarning("KDirWatch: %s is a directory. Use addDir!", path.ascii()); else if (!e->isDir && isDir) qWarning("KDirWatch: %s is a file. Use addFile!", path.ascii()); e->m_ctime = stat_buf.st_ctime; e->m_status = Normal; e->m_nlink = stat_buf.st_nlink; } else { e->isDir = isDir; e->m_ctime = invalid_ctime; e->m_status = NonExistent; e->m_nlink = 0; } e->path = path; if (sub_entry) e->m_entries.append(sub_entry); else e->addClient(instance); kdDebug(7001) << "Added " << (e->isDir ? "Dir ":"File ") << path |