]> git.cworth.org Git - apitrace/blobdiff - gui/apitracefilter.cpp
gui: Prevent assertion failure on debug builds.
[apitrace] / gui / apitracefilter.cpp
index f541f736055bbbd5aa31aaec4d361e92ecca2a62..3dec70a4cf8a2be427dcb8ee7689990bfe436da5 100644 (file)
@@ -19,7 +19,6 @@ bool ApiTraceFilter::filterAcceptsRow(int sourceRow,
     QVariant varientData = sourceModel()->data(index0, ApiTraceModel::EventRole);
     ApiTraceEvent *event = varientData.value<ApiTraceEvent*>();
 
-    Q_ASSERT(event);
     if (!event)
         return false;
 
@@ -59,12 +58,14 @@ bool ApiTraceFilter::filterAcceptsRow(int sourceRow,
             return false;
         if (function.contains(QLatin1String("glXQueryExtensionsString")))
             return false;
-        QString fullText = call->filterText();
-        if (function.contains(QLatin1String("glGetString")) &&
-            fullText.contains(QLatin1String("GL_EXTENSIONS")))
+        if (function.contains(QLatin1String("glGetString")))
             return false;
     }
 
+    if (m_filters & CustomFilter) {
+        return !function.contains(m_customRegexp);
+    }
+
 
     return true;
 }
@@ -91,12 +92,6 @@ void ApiTraceFilter::setFilterOptions(ApiTraceFilter::FilterOptions opts)
     }
 }
 
-QModelIndex ApiTraceFilter::callIndex(int callIdx) const
-{
-    ApiTraceModel *model = static_cast<ApiTraceModel *>(sourceModel());
-    QModelIndex index = model->callIndex(callIdx);
-    return mapFromSource(index);
-}
 
 QModelIndex ApiTraceFilter::indexForCall(ApiTraceCall *call) const
 {
@@ -110,4 +105,14 @@ QRegExp ApiTraceFilter::filterRegexp() const
     return m_regexp;
 }
 
+void ApiTraceFilter::setCustomFilterRegexp(const QString &str)
+{
+    m_customRegexp = QRegExp(str);
+}
+
+QString ApiTraceFilter::customFilterRegexp() const
+{
+    return m_customRegexp.pattern();
+}
+
 #include "apitracefilter.moc"