[Kazehakase-devel 2694] Re: gecko_version の取得方法変更のお願い

Back to archive index

Hidetaka Iwai tyuyu****@sabis*****
2006年 11月 11日 (土) 16:10:05 JST


岩井です。御無沙汰しております。

At Wed, 13 Sep 2006 10:02:56 +0900,
Hiroyuki Ikezoe wrote:

> > kazehakase-0.4.0 でも同じようなビルドエラーが出ます。
> > エラーの内容と周辺のコードを対照すると
> > kz-mozlauncher.cpp:66-72
> > > NS_IMETHODIMP KzContentHandler::Show(nsIHelperAppLauncher *aLauncher,
> > > nsISupports *aContext,
> > > #ifdef HAVE_GECKO_1_8
> > > PRUint32 aForced)
> > > #else
> > > PRBool aForced)
> > > #endif
> 
> ここの部分のチェックは、作った時から気になってはいたんですが、うまいやり
> 方がわからずにいい加減なままにしてましたが、ちょうどいい機会だったので、
> GCCのオプションと格闘して、ちゃんとしたチェックに直しました。

ここの code ですが、-Wconversion -Wsign-compare -Werror で暗黙の型変換
を error にしておいて

AC_COMPILE_IFELSE(
	[AC_LANG_PROGRAM(
		[[#include <nsIHelperAppLauncherDialog.h>]],
		[[nsIHelperAppLauncherDialog *p;
		  p->Show (nsnull, nsnull, -1);]]
	)],
	[AC_DEFINE([MOZ_NSIHELPERAPPLAUNCHERDIALOG_NSPRBOOL_],[1],[Define if nsIHelperAppLauncharDialog uses PRBool]) result=yes],
	[result=no])


で p->Show (nsnull, nsnull, -1) の第3引数で -1 が通らなければ第3引数は
PRBool, 通れば PRUint32 という判定をしていると思うんですが、その後の
action-if-true と action-if-false の内容が逆ではないですか?

あと -Werror があると warning: 'class nsISupports' has virtual
functions but non-virtual destructor といった警告が全て error 扱いにな
るので、その後の gecko の API check(例えば
nsIFilePicker::SetDefaultString() の引数チェック)に軒並み失敗してしまい、
風博士がビルドできません(これは xulrunner の問題かも)

regards,
-- 
 Hidetaka Iwai
 tyuyu****@sabis*****



Kazehakase-devel メーリングリストの案内
Back to archive index