Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 330847
Collapse All | Expand All

(-)yelp-2.30.2/m4/gecko.m4 (-22 / +14 lines)
Lines 212-236 AC_LANG_PUSH([C++]) Link Here
212
_SAVE_CPPFLAGS="$CPPFLAGS"
212
_SAVE_CPPFLAGS="$CPPFLAGS"
213
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS"
213
CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS"
214
214
215
AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]])
216
AC_RUN_IFELSE(
217
	[AC_LANG_SOURCE(
218
		[[#include <mozilla-config.h>
219
		  #include <string.h>
220
		  #include <stdlib.h>
221
                  int main(void) {
222
		    if (strcmp (MOZ_DEFAULT_TOOLKIT, "gtk2") == 0 ||
223
		        strcmp (MOZ_DEFAULT_TOOLKIT, "cairo-gtk2") == 0)
224
			    return EXIT_SUCCESS;
225
		
226
		    return EXIT_FAILURE;
227
		  } ]]
228
	)],
229
	[result=yes],
230
	[AC_MSG_ERROR([[This program needs a gtk 2 gecko build]])],
231
        [result=maybe])
232
AC_MSG_RESULT([$result])
233
234
AC_MSG_CHECKING([[whether we have a gecko debug build]])
215
AC_MSG_CHECKING([[whether we have a gecko debug build]])
235
AC_COMPILE_IFELSE(
216
AC_COMPILE_IFELSE(
236
	[AC_LANG_SOURCE(
217
	[AC_LANG_SOURCE(
Lines 304-310 if (!stream) return 126; Link Here
304
#ifdef MOZILLA_1_8_BRANCH
285
#ifdef MOZILLA_1_8_BRANCH
305
version = "1.8.1";
286
version = "1.8.1";
306
#else
287
#else
307
if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) {
288
if (strncmp (MOZILLA_VERSION, "2.0", strlen ("2.0")) == 0) {
289
	version = "2.0";
290
} else if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) {
308
	version = "1.9";
291
	version = "1.9";
309
} else if (strncmp (MOZILLA_VERSION, "1.8", strlen ("1.8")) == 0) {
292
} else if (strncmp (MOZILLA_VERSION, "1.8", strlen ("1.8")) == 0) {
310
	version = "1.8";
293
	version = "1.8";
Lines 328-334 AC_LANG_POP([C++]) Link Here
328
311
329
gecko_cv_gecko_version_int="$(echo "$gecko_cv_gecko_version" | $AWK -F . '{print [$]1 * 1000000 + [$]2 * 1000 + [$]3}')"
312
gecko_cv_gecko_version_int="$(echo "$gecko_cv_gecko_version" | $AWK -F . '{print [$]1 * 1000000 + [$]2 * 1000 + [$]3}')"
330
313
331
if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "1009000"; then
314
if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "2000000"; then
332
	AC_MSG_ERROR([Gecko version $gecko_cv_gecko_version is not supported!])
315
	AC_MSG_ERROR([Gecko version $gecko_cv_gecko_version is not supported!])
333
fi
316
fi
334
317
Lines 350-356 if test "$gecko_cv_gecko_version_int" -g Link Here
350
fi
333
fi
351
334
352
if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
335
if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then
353
	PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1],[gecko_cv_have_gecko_1_9_1=yes gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001],[gecko_cv_have_gecko_1_9_1=no])
336
	PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1],
337
        [ gecko_cv_have_gecko_1_9_1=yes
338
          if test "$gecko_cv_gecko_version_int" -lt "2000000"; then gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001; fi
339
        ],[gecko_cv_have_gecko_1_9_1=no])
354
else
340
else
355
	gecko_cv_have_gecko_1_9_1=no
341
	gecko_cv_have_gecko_1_9_1=no
356
fi
342
fi
Lines 359-364 if test "$gecko_cv_have_gecko_1_9_1" = " Link Here
359
        AC_DEFINE([HAVE_GECKO_1_9_1],[1],[Define if we have gecko 1.9.1])
345
        AC_DEFINE([HAVE_GECKO_1_9_1],[1],[Define if we have gecko 1.9.1])
360
fi
346
fi
361
347
348
if test "$gecko_cv_gecko_version_int" -ge "2000000"; then
349
	AC_DEFINE([HAVE_GECKO_2_0],[1],[Define if we have gecko 2.0])
350
	gecko_cv_have_gecko_2_0=yes
351
fi
352
362
fi # if gecko_cv_have_gecko
353
fi # if gecko_cv_have_gecko
363
354
364
$1[]_VERSION=$gecko_cv_gecko_version
355
$1[]_VERSION=$gecko_cv_gecko_version
Lines 407-412 AM_CONDITIONAL([HAVE_GECKO_1_8],[test "$ Link Here
407
AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"])
398
AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"])
408
AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"])
399
AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"])
409
AM_CONDITIONAL([HAVE_GECKO_1_9_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_1_9_1" = "yes"])
400
AM_CONDITIONAL([HAVE_GECKO_1_9_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_1_9_1" = "yes"])
401
AM_CONDITIONAL([HAVE_GECKO_2_0],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_2_0" = "yes"])
410
AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"])
402
AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"])
411
AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"])
403
AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"])
412
AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"])
404
AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"])
(-)yelp-2.30.2/src/yelp-gecko-services.cpp (+118 lines)
Lines 32-38 Link Here
32
#include <nsIComponentManager.h>
32
#include <nsIComponentManager.h>
33
#include <nsComponentManagerUtils.h>
33
#include <nsComponentManagerUtils.h>
34
#include <nsIComponentRegistrar.h>
34
#include <nsIComponentRegistrar.h>
35
#ifndef HAVE_GECKO_2_0
35
#include <nsIGenericFactory.h>
36
#include <nsIGenericFactory.h>
37
#else
38
#include <nsIFactory.h>
39
#endif
36
#include <nsILocalFile.h>
40
#include <nsILocalFile.h>
37
#include <nsIPrintSettings.h>
41
#include <nsIPrintSettings.h>
38
#include <nsServiceManagerUtils.h>
42
#include <nsServiceManagerUtils.h>
Lines 418-423 PrintListener::SetPrintSettings (YelpPri Link Here
418
422
419
/* component registration */
423
/* component registration */
420
424
425
#ifndef HAVE_GECKO_2_0
426
421
NS_GENERIC_FACTORY_CONSTRUCTOR(GPrintingPromptService)
427
NS_GENERIC_FACTORY_CONSTRUCTOR(GPrintingPromptService)
422
428
423
static const nsModuleComponentInfo sAppComps[] = {
429
static const nsModuleComponentInfo sAppComps[] = {
Lines 462-464 yelp_register_printing () Link Here
462
    }
468
    }
463
    
469
    
464
}
470
}
471
472
#else
473
474
/*
475
 * Adapted from code from ./embedding/browser/activex/src/control/PromptService.cpp in Firefox
476
 */
477
478
//*****************************************************************************
479
// GPrintingPromptServiceFactory
480
//*****************************************************************************
481
482
class GPrintingPromptServiceFactory : public nsIFactory
483
{
484
public:
485
    NS_DECL_ISUPPORTS
486
    NS_DECL_NSIFACTORY
487
488
    GPrintingPromptServiceFactory();
489
    virtual ~GPrintingPromptServiceFactory();
490
};
491
492
//*****************************************************************************
493
494
NS_IMPL_ISUPPORTS1(GPrintingPromptServiceFactory, nsIFactory)
495
496
GPrintingPromptServiceFactory::GPrintingPromptServiceFactory()
497
{
498
}
499
500
GPrintingPromptServiceFactory::~GPrintingPromptServiceFactory()
501
{
502
}
503
504
NS_IMETHODIMP GPrintingPromptServiceFactory::CreateInstance(nsISupports *aOuter, const nsIID & aIID, void **aResult)
505
{
506
    NS_ENSURE_ARG_POINTER(aResult);
507
508
    *aResult = NULL;
509
    GPrintingPromptService *inst = new GPrintingPromptService;
510
    if (!inst)
511
    return NS_ERROR_OUT_OF_MEMORY;
512
513
    nsresult rv = inst->QueryInterface(aIID, aResult);
514
    if (rv != NS_OK) {
515
        // We didn't get the right interface, so clean up
516
        delete inst;
517
    }
518
519
    return rv;
520
}
521
522
NS_IMETHODIMP GPrintingPromptServiceFactory::LockFactory(PRBool lock)
523
{
524
    return NS_OK;
525
}
526
527
//*****************************************************************************
528
529
nsresult NS_NewPrintingPromptServiceFactory(nsIFactory** aFactory)
530
{
531
    NS_ENSURE_ARG_POINTER(aFactory);
532
    *aFactory = nsnull;
533
534
    GPrintingPromptServiceFactory *result = new GPrintingPromptServiceFactory;
535
    if (!result)
536
        return NS_ERROR_OUT_OF_MEMORY;
537
538
    NS_ADDREF(result);
539
    *aFactory = result;
540
541
    return NS_OK;
542
}
543
544
/*
545
 * End of adapted code.
546
 */
547
548
static NS_DEFINE_CID(kGPrintingPromptServiceCID, G_PRINTINGPROMPTSERVICE_CID);
549
550
void
551
yelp_register_printing ()
552
{
553
  nsresult rv;
554
  nsCOMPtr<nsIComponentRegistrar> cr;
555
  rv = NS_GetComponentRegistrar(getter_AddRefs(cr));
556
  NS_ENSURE_SUCCESS (rv, );
557
558
  nsCOMPtr<nsIComponentManager> cm;
559
  rv = NS_GetComponentManager (getter_AddRefs (cm));
560
  NS_ENSURE_SUCCESS (rv, );
561
562
  nsCOMPtr<nsIFactory> componentFactory;
563
  rv = NS_NewPrintingPromptServiceFactory(getter_AddRefs(componentFactory));
564
565
  if (NS_FAILED(rv) || !componentFactory)
566
    {
567
      g_warning ("Failed to make a factory for %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME);
568
      return;
569
    }
570
571
  rv = cr->RegisterFactory(kGPrintingPromptServiceCID,
572
			   G_PRINTINGPROMPTSERVICE_CLASSNAME,
573
			   G_PRINTINGPROMPTSERVICE_CONTRACTID,
574
			   componentFactory);
575
  if (NS_FAILED(rv))
576
    {
577
      g_warning ("Failed to register %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME);
578
    }
579
580
}
581
582
#endif
(-)yelp-2.30.2/src/yelp-gecko-utils.cpp (-2 / +2 lines)
Lines 213-220 yelp_gecko_init (void) Link Here
213
	nsresult rv;
213
	nsresult rv;
214
#ifdef XPCOM_GLUE
214
#ifdef XPCOM_GLUE
215
    static const GREVersionRange greVersion = {
215
    static const GREVersionRange greVersion = {
216
    "1.9a", PR_TRUE,
216
    "2.0a", PR_TRUE,
217
    "2", PR_TRUE
217
    "2.0", PR_TRUE
218
    };
218
    };
219
    char xpcomLocation[PATH_MAX];
219
    char xpcomLocation[PATH_MAX];
220
    rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, sizeof (xpcomLocation));
220
    rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, sizeof (xpcomLocation));

Return to bug 330847