mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=2564
This commit is contained in:
parent
1de7999be3
commit
ec3423127a
|
@ -30,16 +30,6 @@
|
||||||
#define WIN32_LEAN_AND_MEAN // This trims down the windows libraries.
|
#define WIN32_LEAN_AND_MEAN // This trims down the windows libraries.
|
||||||
#define WIN32_EXTRA_LEAN // Trims even farther.
|
#define WIN32_EXTRA_LEAN // Trims even farther.
|
||||||
|
|
||||||
//#define DRAW_WITH_DLL
|
|
||||||
|
|
||||||
#ifdef DRAW_WITH_DLL
|
|
||||||
__declspec(dllimport) void vis_render(int,int,double,float*,int);
|
|
||||||
__declspec(dllimport) void vis_unload();
|
|
||||||
__declspec(dllimport) void vis_init();
|
|
||||||
#pragma comment(lib,"../../vis_dll/debug/vis.lib")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static HDC hDC;
|
static HDC hDC;
|
||||||
static HGLRC hRC;
|
static HGLRC hRC;
|
||||||
static HWND hWnd=NULL; // Holds Our Window Handle
|
static HWND hWnd=NULL; // Holds Our Window Handle
|
||||||
|
@ -65,11 +55,7 @@ BOOL reg_win_class();
|
||||||
BOOL unreg_win_class();
|
BOOL unreg_win_class();
|
||||||
|
|
||||||
bool KillWindow() {
|
bool KillWindow() {
|
||||||
#ifdef DRAW_WITH_DLL
|
|
||||||
if(hDC) vis_unload();
|
|
||||||
#else
|
|
||||||
//if(hDC) app_unload_gl();
|
//if(hDC) app_unload_gl();
|
||||||
#endif
|
|
||||||
|
|
||||||
if (hRC) { // Do We Have A Rendering Context?
|
if (hRC) { // Do We Have A Rendering Context?
|
||||||
if (!wglMakeCurrent(NULL,NULL)) { // Are We Able To Release The DC And RC Contexts?
|
if (!wglMakeCurrent(NULL,NULL)) { // Are We Able To Release The DC And RC Contexts?
|
||||||
|
@ -101,6 +87,7 @@ bool KillWindow() {
|
||||||
// - when get mode change msg (via shared mem)
|
// - when get mode change msg (via shared mem)
|
||||||
// - when in SS mode and get user input
|
// - when in SS mode and get user input
|
||||||
//
|
//
|
||||||
|
extern FILE* gf();
|
||||||
void SetMode(int mode) {
|
void SetMode(int mode) {
|
||||||
RECT WindowRect = {0,0,0,0};
|
RECT WindowRect = {0,0,0,0};
|
||||||
int width, height;
|
int width, height;
|
||||||
|
@ -113,6 +100,8 @@ void SetMode(int mode) {
|
||||||
|
|
||||||
current_graphics_mode = mode;
|
current_graphics_mode = mode;
|
||||||
|
|
||||||
|
// ?? if mode is HIDE, can't we just return here?
|
||||||
|
|
||||||
if (current_graphics_mode == MODE_FULLSCREEN) {
|
if (current_graphics_mode == MODE_FULLSCREEN) {
|
||||||
HDC screenDC=GetDC(NULL);
|
HDC screenDC=GetDC(NULL);
|
||||||
WindowRect.left = WindowRect.top = 0;
|
WindowRect.left = WindowRect.top = 0;
|
||||||
|
@ -172,7 +161,16 @@ void SetMode(int mode) {
|
||||||
ShowWindow(hWnd, SW_HIDE);
|
ShowWindow(hWnd, SW_HIDE);
|
||||||
}
|
}
|
||||||
|
|
||||||
app_client_shm->send_graphics_mode_msg(APP_CORE_GFX_SEG, current_graphics_mode);
|
// do GL initialization every time, since we're creating a new window
|
||||||
|
//
|
||||||
|
InitGL();
|
||||||
|
app_init_gl();
|
||||||
|
|
||||||
|
// tell the core client that we're entering new mode
|
||||||
|
//
|
||||||
|
app_client_shm->send_graphics_mode_msg(
|
||||||
|
APP_CORE_GFX_SEG, current_graphics_mode
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// message handler (includes timer, Windows msgs)
|
// message handler (includes timer, Windows msgs)
|
||||||
|
@ -187,7 +185,7 @@ LRESULT CALLBACK WndProc( HWND hWnd, // Handle For This Window
|
||||||
static bool visible = true;
|
static bool visible = true;
|
||||||
|
|
||||||
switch(uMsg) {
|
switch(uMsg) {
|
||||||
case WM_ERASEBKGND: // Check To See If Windows Is Trying To Erase The Background
|
case WM_ERASEBKGND: // Check To See If Windows Is Trying To Erase The Background
|
||||||
return 0;
|
return 0;
|
||||||
case WM_SHOWWINDOW:
|
case WM_SHOWWINDOW:
|
||||||
// this is an attempt to avoid wasting CPU time on rendering
|
// this is an attempt to avoid wasting CPU time on rendering
|
||||||
|
@ -267,15 +265,11 @@ DWORD WINAPI win_graphics_event_loop( LPVOID gi ) {
|
||||||
// Register window class and graphics mode message
|
// Register window class and graphics mode message
|
||||||
reg_win_class();
|
reg_win_class();
|
||||||
|
|
||||||
|
|
||||||
if (standalone) {
|
if (standalone) {
|
||||||
SetMode(MODE_WINDOW);
|
SetMode(MODE_WINDOW);
|
||||||
} else {
|
} else {
|
||||||
SetMode(MODE_HIDE_GRAPHICS);
|
SetMode(MODE_HIDE_GRAPHICS);
|
||||||
}
|
}
|
||||||
InitGL();
|
|
||||||
app_init_gl();
|
|
||||||
|
|
||||||
win_loop_done = false;
|
win_loop_done = false;
|
||||||
using_opengl = true;
|
using_opengl = true;
|
||||||
while(!win_loop_done) {
|
while(!win_loop_done) {
|
||||||
|
|
|
@ -7066,3 +7066,20 @@ Karl 2003-10-25
|
||||||
client/win/
|
client/win/
|
||||||
wingui_mainwindow.cpp
|
wingui_mainwindow.cpp
|
||||||
|
|
||||||
|
|
||||||
|
David 25 Oct 2003
|
||||||
|
- removed code that caps backoff count at one
|
||||||
|
TODO: we still need to reexamine the backoff policy,
|
||||||
|
so that multiple file failures don't lead to huge backoffs
|
||||||
|
- moved OpenGL init calls from the start of the event loop
|
||||||
|
back to SetMode, undoing an earlier change.
|
||||||
|
Turns out the need to be in SetMode because it creates a new
|
||||||
|
window every time.
|
||||||
|
This should fix the bug that cause Astropulse to show no graphics.
|
||||||
|
TODO: make sure that when an application window is hidden,
|
||||||
|
no rendering work gets done.
|
||||||
|
|
||||||
|
api/
|
||||||
|
windows_opengl.C
|
||||||
|
client/
|
||||||
|
scheduler_op.C
|
||||||
|
|
|
@ -170,10 +170,6 @@ int SCHEDULER_OP::set_min_rpc_time(PROJECT* p) {
|
||||||
void SCHEDULER_OP::backoff(PROJECT* p, char *error_msg ) {
|
void SCHEDULER_OP::backoff(PROJECT* p, char *error_msg ) {
|
||||||
msg_printf(p, MSG_ERROR, error_msg);
|
msg_printf(p, MSG_ERROR, error_msg);
|
||||||
|
|
||||||
// Don't back off more if already backed off
|
|
||||||
//
|
|
||||||
if (p->min_rpc_time > 0) return;
|
|
||||||
|
|
||||||
if (p->master_fetch_failures >= gstate.master_fetch_retry_cap) {
|
if (p->master_fetch_failures >= gstate.master_fetch_retry_cap) {
|
||||||
p->master_url_fetch_pending = true;
|
p->master_url_fetch_pending = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue