Switch to side-by-side view

--- a/src/query/docseq.h
+++ b/src/query/docseq.h
@@ -131,6 +131,14 @@
     virtual bool setSortSpec(const DocSeqSortSpec &) {return false;}
     virtual RefCntr<DocSequence> getSourceSeq() {return RefCntr<DocSequence>();}
 
+    static void set_translations(const string& sort, const string& filt)
+    {
+	o_sort_trans = sort;
+	o_filt_trans = filt;
+    }
+protected:
+    static string o_sort_trans;
+    static string o_filt_trans;
  private:
     string          m_title;
 };
@@ -147,20 +155,28 @@
 
     virtual string getAbstract(Rcl::Doc& doc) 
     {
+	if (m_seq.isNull())
+	    return "";
 	return m_seq->getAbstract(doc);
     }
     virtual string getDescription() 
     {
+	if (m_seq.isNull())
+	    return "";
 	return m_seq->getDescription();
     }
     virtual bool getTerms(vector<string>& terms, 
 			  vector<vector<string> >& groups, 
 			  vector<int>& gslks) 
     {
+	if (m_seq.isNull())
+	    return false;
 	return m_seq->getTerms(terms, groups, gslks);
     }
     virtual void getUTerms(vector<string>& terms)
     {
+	if (m_seq.isNull())
+	    return;
 	m_seq->getUTerms(terms);
     }
     virtual string title() {return m_seq->title();}
@@ -183,16 +199,15 @@
     virtual bool setSortSpec(const DocSeqSortSpec &);
     virtual bool getDoc(int num, Rcl::Doc &doc, string *sh = 0)
     {
+	if (m_seq.isNull())
+	    return false;
 	return m_seq->getDoc(num, doc, sh);
     }
     virtual int getResCnt()
     {
+	if (m_seq.isNull())
+	    return 0;
 	return m_seq->getResCnt();
-    }
-    static void set_translations(const string& sort, const string& filt)
-    {
-	o_sort_trans = sort;
-	o_filt_trans = filt;
     }
     virtual string title();
 private:
@@ -200,8 +215,6 @@
     void stripStack();
     DocSeqFiltSpec  m_fspec;
     DocSeqSortSpec  m_sspec;
-    static string o_sort_trans;
-    static string o_filt_trans;
 };
 
 #endif /* _DOCSEQ_H_INCLUDED_ */