dwss: only create modes after initializing the OpenGL rendering context
This commit is contained in:
parent
12eb23e8ec
commit
e2dc328996
13
dwss.cc
13
dwss.cc
@ -16,11 +16,11 @@ using namespace std;
|
|||||||
#define MAX_ASPECT (16.0/9.0*1.02)
|
#define MAX_ASPECT (16.0/9.0*1.02)
|
||||||
|
|
||||||
static int n_monitors = 1;
|
static int n_monitors = 1;
|
||||||
static Mode *current_mode;
|
static Mode *current_mode = NULL;
|
||||||
|
|
||||||
static bool expose (GnomeScreensaver & gs)
|
static bool expose (GnomeScreensaver & gs)
|
||||||
{
|
{
|
||||||
return current_mode->expose(gs);
|
return current_mode != NULL ? current_mode->expose(gs) : true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool configure (GnomeScreensaver & gs, int width, int height)
|
static bool configure (GnomeScreensaver & gs, int width, int height)
|
||||||
@ -30,23 +30,26 @@ static bool configure (GnomeScreensaver & gs, int width, int height)
|
|||||||
n_monitors++)
|
n_monitors++)
|
||||||
;
|
;
|
||||||
|
|
||||||
return current_mode->configure(gs, width, height);
|
return current_mode != NULL
|
||||||
|
? current_mode->configure(gs, width, height)
|
||||||
|
: true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool update (GnomeScreensaver & gs)
|
static bool update (GnomeScreensaver & gs)
|
||||||
{
|
{
|
||||||
return current_mode->update(gs);
|
return current_mode != NULL ? current_mode->update(gs) : true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main (int argc, char *argv[])
|
int main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
GnomeScreensaver gs(&argc, &argv, configure, expose, update, 12);
|
||||||
|
|
||||||
Mode *modes[] = {
|
Mode *modes[] = {
|
||||||
new Spin()
|
new Spin()
|
||||||
};
|
};
|
||||||
|
|
||||||
current_mode = modes[0];
|
current_mode = modes[0];
|
||||||
|
|
||||||
GnomeScreensaver gs(&argc, &argv, configure, expose, update, 12);
|
|
||||||
gs.mainloop();
|
gs.mainloop();
|
||||||
|
|
||||||
for (int i = 0; i < sizeof(modes)/sizeof(modes[0]); i++)
|
for (int i = 0; i < sizeof(modes)/sizeof(modes[0]); i++)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user