Shunichi Fuji
palgl****@gmail*****
2008年 2月 22日 (金) 18:56:40 JST
Hi, list! svn版においてHyperestraierの履歴内全文検索が動かないのですが、 KzMozHistorySearchProtocolHandlerの部分で NewChannel->NS_NewChannel->NewChannelFromUR->(gecko)I->NewChannel(始め)と 再帰ループしているようです。 下記のパッチでとりあえず動くようになったのですが、サムネイルが表示されません…。 そもそも他のページでもポップアップのサムネイルが出てこないのです。(以前は出ていた) 何か情報がありましたら教えてください。 Best regard! ---- Index: kazehakase/module/search/kz-hyper-estraier-search.c =================================================================== --- kazehakase/module/search/kz-hyper-estraier-search.c (リビジョン 3389) +++ kazehakase/module/search/kz-hyper-estraier-search.c (作業コピー) @@ -440,7 +448,6 @@ register_document (KzSearch *search, const gchar *uri, const gchar *title, const gchar *contents, GTime mtime) { ESTDOC *doc; - int ecode; gboolean success; gchar *time_str, *filename, *text = NULL; gchar *tmp_filename, *tmp_path; @@ -480,7 +487,7 @@ success = est_mtdb_put_doc(he_search->db, doc, ESTPDCLEAN) != 0; if (!success) - g_warning("register error: %s", est_err_msg(ecode)); + g_warning("register error: %s", est_err_msg(est_mtdb_error(he_search->db))); est_doc_delete(doc); Index: kazehakase/module/embed/gecko/kz-mozhistorysearch.cpp =================================================================== --- kazehakase/module/embed/gecko/kz-mozhistorysearch.cpp (リビジョン 3389) +++ kazehakase/module/embed/gecko/kz-mozhistorysearch.cpp (作業コピー) @@ -165,7 +165,7 @@ rv = NS_NewFileURI(getter_AddRefs(cssURI), cssFile); if (NS_FAILED(rv)) return rv; - rv = NS_NewChannel(result, uri, nsCString("text/css"), nsnull); + rv = NS_NewChannel(result, cssURI, nsCString("text/css"), nsnull); return rv; } @@ -182,16 +182,16 @@ gchar *filename = g_strndup(text.get() + 7, length - 7); - nsCOMPtr<nsILocalFile> cssFile; + nsCOMPtr<nsILocalFile> imgFile; rv = NS_NewNativeLocalFile(nsCString(filename), PR_TRUE, - getter_AddRefs(cssFile)); + getter_AddRefs(imgFile)); g_free (filename); - nsCOMPtr<nsIURI> cssURI; - rv = NS_NewFileURI(getter_AddRefs(cssURI), cssFile); + nsCOMPtr<nsIURI> imgURI; + rv = NS_NewFileURI(getter_AddRefs(imgURI), imgFile); if (NS_FAILED(rv)) return rv; - rv = NS_NewChannel(result, uri, nsCString("image/png"), nsnull); + rv = NS_NewChannel(result, imgURI, nsCString("image/png"), nsnull); return rv; } @@ -239,10 +239,13 @@ stream->Write (html, strlen(html), &bytesWritten); g_free(html); } - - rv = NS_NewChannel(result, uri, nsCString("text/html"), nsnull); + + nsCOMPtr<nsIInputStream> iStream; + rv = sStream->NewInputStream(0, getter_AddRefs(iStream)); if (NS_FAILED(rv)) return rv; - + + rv = NS_NewInputStreamChannel(result, uri, iStream, nsCString("text/html"), nsnull); + return rv; } Index: kazehakase/module/embed/gecko/kz-mozutils.h =================================================================== --- kazehakase/module/embed/gecko/kz-mozutils.h (リビジョン 3389) +++ kazehakase/module/embed/gecko/kz-mozutils.h (作業コピー) @@ -141,7 +152,6 @@ return rv; } -#ifdef ENABLE_GTKMOZEMBED inline nsresult NS_NewInputStreamChannel(nsIChannel **result, nsIURI *uri, @@ -171,7 +181,6 @@ } return rv; } -#endif inline nsresult NS_NewLocalFileOutputStream(nsIOutputStream **aResult,