"*fpsTop: true \n" \
# define UNIFORM_COLORS
+# define release_fiberlamp 0
# define fiberlamp_handle_event 0
# include "xlockmore.h" /* in xscreensaver distribution */
#else /* STANDALONE */
#ifdef USE_MODULES
ModStruct fiberlamp_description =
-{"fiberlamp", "init_fiberlamp", "draw_fiberlamp", "release_fiberlamp",
+{"fiberlamp", "init_fiberlamp", "draw_fiberlamp", (char *) NULL,
"draw_fiberlamp", "change_fiberlamp", (char *) NULL, &fiberlamp_opts,
1000, 500, 10000, 0, 64, 1.0, "", "Shows a Fiber Optic Lamp", 0, NULL};
}
static void
-free_fiberlamp(ModeInfo *mi, fiberlampstruct *fl)
+free_fiberlamp(ModeInfo *mi)
{
+ fiberlampstruct *fl = &fiberlamps[MI_SCREEN(mi)];
if (fl->buffer != None && fl->dbufp) {
XFreePixmap(MI_DISPLAY(mi), fl->buffer);
fl->buffer = None;
{
fiberlampstruct *fl;
- if (fiberlamps == NULL) {
- if ((fiberlamps =
- (fiberlampstruct *) calloc(MI_NUM_SCREENS(mi),
- sizeof (fiberlampstruct))) == NULL)
- return;
- }
+ MI_INIT (mi, fiberlamps, free_fiberlamp);
fl = &fiberlamps[MI_SCREEN(mi)];
/* Create or Resize double buffer */
fl->buffer = XCreatePixmap(MI_DISPLAY(mi), MI_WINDOW(mi),
MI_WIDTH(mi), MI_HEIGHT(mi), MI_DEPTH(mi));
if (fl->buffer == None) {
- free_fiberlamp(mi, fl);
+ free_fiberlamp(mi);
return;
}
} else {
/* Allocate fibers */
if((fl->fiber =
(fiberstruct*) calloc(fl->nfibers, sizeof (fiberstruct))) == NULL) {
- free_fiberlamp(mi, fl);
+ free_fiberlamp(mi);
return;
} else {
int f;
(nodestruct*) calloc(NODES, sizeof (nodestruct))) == NULL
||(fs->draw =
(XPoint*) calloc(NODES, sizeof (XPoint))) == NULL) {
- free_fiberlamp(mi, fl);
+ free_fiberlamp(mi);
return;
}
}
}
}
-ENTRYPOINT void
-release_fiberlamp(ModeInfo * mi)
-{
- if (fiberlamps != NULL) {
- int screen;
-
- for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++)
- free_fiberlamp(mi, &fiberlamps[screen]);
- free(fiberlamps);
- fiberlamps = (fiberlampstruct *) NULL;
- }
-}
-
ENTRYPOINT void
refresh_fiberlamp(ModeInfo * mi)
{