From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / driver / demo-Xm.c
index b5eebb4ee0b3369519efcbc1699545162e525ec1..149e7c5154169ea73669f36d15c5354fc7bd1a33 100644 (file)
@@ -1,5 +1,5 @@
 /* demo-Xm.c --- implements the interactive demo-mode and options dialogs.
 /* demo-Xm.c --- implements the interactive demo-mode and options dialogs.
- * xscreensaver, Copyright (c) 1993-2003 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1993-2003, 2005 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -360,7 +360,7 @@ about_menu_cb (Widget button, XtPointer client_data, XtPointer ignored)
            "version is no longer maintained.  Please use the GTK version\n"
            "instead, which has many more features.\n"
            "\n"
            "version is no longer maintained.  Please use the GTK version\n"
            "instead, which has many more features.\n"
            "\n"
-           "For xscreensaver updates, check http://www.jwz.org/xscreensaver/",
+           "For xscreensaver updates, check https://www.jwz.org/xscreensaver/",
            s, s2);
   free (s);
 
            s, s2);
   free (s);
 
@@ -509,7 +509,7 @@ selected_hack_number (Widget toplevel)
 static int
 demo_write_init_file (Widget widget, saver_preferences *p)
 {
 static int
 demo_write_init_file (Widget widget, saver_preferences *p)
 {
-  if (!write_init_file (p, short_version, False))
+  if (!write_init_file (XtDisplay (widget), p, short_version, False))
     return 0;
   else
     {
     return 0;
   else
     {
@@ -672,7 +672,7 @@ manual_cb (Widget button, XtPointer client_data, XtPointer ignored)
   s = strrchr (name2, '/');
   if (s) name = s+1;
 
   s = strrchr (name2, '/');
   if (s) name = s+1;
 
-  cmd = get_string_resource ("manualCommand", "ManualCommand");
+  cmd = get_string_resource (XtDisplay (button), "manualCommand", "ManualCommand");
   if (cmd)
     {
       char *cmd2 = (char *) malloc (strlen (cmd) + (strlen (name2) * 4) + 100);
   if (cmd)
     {
       char *cmd2 = (char *) malloc (strlen (cmd) + (strlen (name2) * 4) + 100);
@@ -923,7 +923,7 @@ scroll_to_current_hack (Widget toplevel, prefs_pair *pair)
   Atom type;
   int format;
   unsigned long nitems, bytesafter;
   Atom type;
   int format;
   unsigned long nitems, bytesafter;
-  CARD32 *data = 0;
+  unsigned char *data = 0;
   Display *dpy = XtDisplay (toplevel);
   int which = 0;
   Widget list;
   Display *dpy = XtDisplay (toplevel);
   int which = 0;
   Widget list;
@@ -932,7 +932,7 @@ scroll_to_current_hack (Widget toplevel, prefs_pair *pair)
                           XA_SCREENSAVER_STATUS,
                           0, 3, False, XA_INTEGER,
                           &type, &format, &nitems, &bytesafter,
                           XA_SCREENSAVER_STATUS,
                           0, 3, False, XA_INTEGER,
                           &type, &format, &nitems, &bytesafter,
-                          (unsigned char **) &data)
+                          &data)
       == Success
       && type == XA_INTEGER
       && nitems >= 3
       == Success
       && type == XA_INTEGER
       && nitems >= 3
@@ -968,7 +968,7 @@ populate_hack_list (Widget toplevel, prefs_pair *pair)
     {
       char *pretty_name = (h[0]->name
                            ? strdup (h[0]->name)
     {
       char *pretty_name = (h[0]->name
                            ? strdup (h[0]->name)
-                           : make_hack_name (h[0]->command));
+                           : make_hack_name (XtDisplay (toplevel), h[0]->command));
 
       XmString xmstr = XmStringCreate (pretty_name, XmSTRING_DEFAULT_CHARSET);
       XmListAddItem (list, xmstr, 0);
 
       XmString xmstr = XmStringCreate (pretty_name, XmSTRING_DEFAULT_CHARSET);
       XmListAddItem (list, xmstr, 0);
@@ -1209,13 +1209,13 @@ pixmapify_buttons (Widget toplevel)
 
 
 char *
 
 
 char *
-get_hack_blurb (screenhack *hack)
+get_hack_blurb (Display *dpy, screenhack *hack)
 {
   char *doc_string;
   char *prog_name = strdup (hack->command);
   char *pretty_name = (hack->name
                        ? strdup (hack->name)
 {
   char *doc_string;
   char *prog_name = strdup (hack->command);
   char *pretty_name = (hack->name
                        ? strdup (hack->name)
-                       : make_hack_name (hack->command));
+                       : make_hack_name (dpy, hack->command));
   char doc_name[255], doc_class[255];
   char *s, *s2;
 
   char doc_name[255], doc_class[255];
   char *s, *s2;
 
@@ -1230,7 +1230,7 @@ get_hack_blurb (screenhack *hack)
   free (prog_name);
   free (pretty_name);
 
   free (prog_name);
   free (pretty_name);
 
-  doc_string = get_string_resource (doc_name, doc_class);
+  doc_string = get_string_resource (dpy, doc_name, doc_class);
   if (doc_string)
     {
       for (s = doc_string; *s; s++)
   if (doc_string)
     {
       for (s = doc_string; *s; s++)
@@ -1329,9 +1329,9 @@ populate_demo_window (Widget toplevel, int which, prefs_pair *pair)
   char *pretty_name = (hack
                        ? (hack->name
                           ? strdup (hack->name)
   char *pretty_name = (hack
                        ? (hack->name
                           ? strdup (hack->name)
-                          : make_hack_name (hack->command))
+                          : make_hack_name (XtDisplay (toplevel), hack->command))
                        : 0);
                        : 0);
-  char *doc_string = hack ? get_hack_blurb (hack) : 0;
+  char *doc_string = hack ? get_hack_blurb (XtDisplay (toplevel), hack) : 0;
 
   XmString xmstr;
 
 
   XmString xmstr;
 
@@ -1408,7 +1408,7 @@ maybe_reload_init_file (Widget widget, prefs_pair *pair)
       warning_dialog (widget, b, 100);
       free (b);
 
       warning_dialog (widget, b, 100);
       free (b);
 
-      load_init_file (p);
+      load_init_file (XtDisplay (widget), p);
 
       which = selected_hack_number (widget);
       list = name_to_widget (widget, "list");
 
       which = selected_hack_number (widget);
       list = name_to_widget (widget, "list");
@@ -1691,6 +1691,7 @@ demo_ehandler (Display *dpy, XErrorEvent *error)
 
 static char *defaults[] = {
 #include "XScreenSaver_ad.h"
 
 static char *defaults[] = {
 #include "XScreenSaver_ad.h"
+#include "XScreenSaver_Xm_ad.h"
  0
 };
 
  0
 };
 
@@ -1767,7 +1768,7 @@ main (int argc, char **argv)
      was in argv[0].
    */
   p->db = db;
      was in argv[0].
    */
   p->db = db;
-  load_init_file (p);
+  load_init_file (dpy, p);
   *p2 = *p;
 
   /* Now that Xt has been initialized, and the resources have been read,
   *p2 = *p;
 
   /* Now that Xt has been initialized, and the resources have been read,