view lisp/gnome.el @ 2518:cc24b630b1d6

[xemacs-hg @ 2005-01-26 10:33:40 by ben] Fix some race conditions in redisplay/signal redisplay.c, redisplay.h, signal.c: Move backtraces to internals manual. Fix some race conditions leading to crashes due to incomplete protection of critical sections. In signal.c, be more aggressive in catching incomplete critical section protection -- we cannot even check for QUIT, *EVER*, in a critical section.
author ben
date Wed, 26 Jan 2005 10:33:42 +0000
parents 7039e6323819
children db7068430402
line wrap: on
line source

(globally-declare-fboundp
 '(gtk-type-from-name
   gtk-import-function-internal
   gtk-call-function))

(defvar gnome-init-called nil)

(defun gnome-init (app-id app-version argv)
  (mapc 'dll-load
	'("libgnomesupport.so"
	  "libgnome.so"
	  "libgnomeui.so"
	  "libesd.so"
	  "libaudiofile.so"
	  "libart_lgpl.so"))
  (if (and (not (noninteractive)) (not gnome-init-called)
	   (= (gtk-type-from-name "GnomeApp") 0))      
      (prog1
	  (gtk-call-function (gtk-import-function-internal
			      'gint "gnome_init" '(GtkString GtkString gint GtkArrayOfString))
			     (list app-id app-version (length argv) argv))
	(setq gnome-init-called t))))

(require 'gnome-widgets)
(provide 'gnome)