/* 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
"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);
}
help_command = (char *) malloc (strlen (p->load_url_command) +
- (strlen (p->help_url) * 2) + 20);
+ (strlen (p->help_url) * 4) + 20);
strcpy (help_command, "( ");
sprintf (help_command + strlen(help_command),
- p->load_url_command, p->help_url, p->help_url);
+ p->load_url_command,
+ p->help_url, p->help_url, p->help_url, p->help_url);
strcat (help_command, " ) &");
system (help_command);
free (help_command);
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
{
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) + 100);
+ char *cmd2 = (char *) malloc (strlen (cmd) + (strlen (name2) * 4) + 100);
strcpy (cmd2, "( ");
sprintf (cmd2 + strlen (cmd2),
cmd,
Atom type;
int format;
unsigned long nitems, bytesafter;
- CARD32 *data = 0;
+ unsigned char *data = 0;
Display *dpy = XtDisplay (toplevel);
int which = 0;
Widget list;
XA_SCREENSAVER_STATUS,
0, 3, False, XA_INTEGER,
&type, &format, &nitems, &bytesafter,
- (unsigned char **) &data)
+ &data)
== Success
&& type == XA_INTEGER
&& nitems >= 3
{
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);
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)
- : make_hack_name (hack->command));
+ : make_hack_name (dpy, hack->command));
char doc_name[255], doc_class[255];
char *s, *s2;
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++)
char *pretty_name = (hack
? (hack->name
? strdup (hack->name)
- : make_hack_name (hack->command))
+ : make_hack_name (XtDisplay (toplevel), hack->command))
: 0);
- char *doc_string = hack ? get_hack_blurb (hack) : 0;
+ char *doc_string = hack ? get_hack_blurb (XtDisplay (toplevel), hack) : 0;
XmString xmstr;
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");
static char *defaults[] = {
#include "XScreenSaver_ad.h"
+#include "XScreenSaver_Xm_ad.h"
0
};
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,