Commit Graph

33 Commits

Author SHA1 Message Date
Rom Walton 7e3026abfa - WINSCR: Use the DefProcHandler function when processing WM_CLOSE/WM_DESTROY
window messages.  In effect, let Windows do the default thing.  This removes
        the hacks which kept the screensaver running with old versions of
        Microsoft's keyboard/mouse driver software installed.
        
    clientscr/
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=25607
2012-04-27 20:50:27 +00:00
Rom Walton 4b3baa236d - SCR: Remove last linger pieces of v5 backward graphics compatibility
from the screensaver.
        
    clientscr/
        screensaver.cpp
        screensaver_win.h

svn path=/trunk/boinc/; revision=24917
2011-12-27 17:16:22 +00:00
Rom Walton 16b2a83b41 - WINSCR: Based on feedback from WCG about the screensaver lock-up
problem attempt to provoke Windows into redrawing the primary
        display.  It turns out that the screensaver image is a ghost
        image, so create a blank top-most window and close it after
        the graphics application has been terminated.
        
    clientscr/
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=24013
2011-08-18 09:56:11 +00:00
Rom Walton d8b9b8b268 - WINSCR: So after looking over all the logs from WCG and now from Jacob
Klein a pattern started to emerge.  At the end of the log files the last
        message logged was 0x12 which translates into WM_QUIT.  The latest
        documentation on WM_QUIT states it should never show up in the message
        loop to begin with.
        
        The docs now say that WM_QUIT should not be sent to the message loop by
        way of PostMessage.  We have been doing things this way for over 5 years.
        For all I know, this could have been carried over from the original screen
        saver sample application.
        
        Change the shutdown logic so that only the primary curtain window can call
        PostQuitMessage() and all other curtain windows just exit when they receive
        a WM_DESTROY message.
        
        I'm not sure what causes this to be a problem on some machines and not
        others.  But preliminary results from Jacob are encouraging.
        
    clientscr/
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=23294
2011-03-29 20:59:09 +00:00
Rom Walton efd3c4caf7 - SCR: Follow the Mac's lead and gracefully exit the Data Management
thread.  Preserve the handle to take more drastic actions should
        that not work.
        
    clientscr/
        mac_saver_module.cpp, .h
        screensaver.cpp
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=23233
2011-03-14 18:58:04 +00:00
Rom Walton 66190aa0fc - MGR: Display the default action in the system tray menu in bold again.
- MGR: If connected to the localhost, don't display the computer name
        in the window title.
    - MGR: Change the exit menu item text to be a little more specific about
        what is being shutdown.  Use the same scheme as the exit text in the
        status bar so that it'll automatically be localized.
    - SCR: Remove some old Win9x code.
    
    clientgui/
        AdvancedFrame.cpp
        BOINCTaskBar.cpp
    clientscr/
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=22402
2010-09-23 18:35:06 +00:00
Rom Walton 887aff86ec - WINSCR: Remove some more crufty code from the screensaver.
clientscr/
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=19992
2009-12-19 22:10:46 +00:00
Rom Walton 2d25b6698d - Cleanup various warnings
- WINSCR: Implement new configuration dialog with new parameters
    - WINSCR: Remove crufty code
    - WINSCR: Update copyrights in resource files
    
    client/
        app.cpp
    clientscr/
        boinc_ss.h
        boinc_ss.rc
        boinc_ss_opengl.h
        boinc_ss_opengl.rc
    clientscr/
        screensaver.cpp, .h
        screensaver_win.cpp, .h
    lib/
        common_defs.h
        crypt.cpp
        idlemon_win.cpp
        win_util.cpp
    samples/worker/
        worker.cpp
    win_build/
        boinc_ss.vcproj
        multi_thread.vcproj
        sleeper.vcproj
        ss_app.vcproj
        uc2_graphics.vcproj

svn path=/trunk/boinc/; revision=19923
2009-12-16 19:55:09 +00:00
Charlie Fenton 317e240b46 SS: Allow users to set screensaver durations from ss control panel
svn path=/trunk/boinc/; revision=19890
2009-12-14 13:10:49 +00:00
Rom Walton c7587fea9d - WINSCR: Remove Win9x compatibility code from the screen saver.
clientscr/    
        screensaver.cpp
        screensaver_win.cpp
        screensaver_win.h

svn path=/trunk/boinc/; revision=18719
2009-07-25 03:53:25 +00:00
Charlie Fenton df0f1ca968 SS: Add new optional boolean xml tag <default_ss_first>
svn path=/trunk/boinc/; revision=18222
2009-05-29 08:36:42 +00:00
Charlie Fenton c05e303e58 SS: launch default screensaver graphics app as user and group boinc_project, not boinc_master
svn path=/trunk/boinc/; revision=17815
2009-04-15 08:28:51 +00:00
Rom Walton 760dc42e12 - WINSCR: It appears newer notebook models with multiple video
chipsets exhibit an interesting situation.  It appears as though
        in certain conditions a single monitor machine actually reports
        itself as having three monitors.  Normally the monitor that
        contains the primary window (coord 0,0) is on monitor 0, but on
        these machines coord 0,0 is actually on monitor 2.  This led to the
        screensaver not properly exiting when keyboard and/or mouse activity
        was detected.  Now when we detect that keyboard and/or mouse activity
        has happened we send the WM_INTERRUPTSAVER event to all windows
        on all monitors.
        
    clientscr/
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=17728
2009-04-02 19:04:10 +00:00
Charlie Fenton 3840b814b7 SS: Under Mac Sandbox security, terminate default screensaver graphics app via gfx_switcher
svn path=/trunk/boinc/; revision=17722
2009-04-02 10:25:16 +00:00
Charlie Fenton 1b39ca2315 screensaver: remove error codes & messages handled by new default gfx app, add new error codes; better logic when coordinator window covered on Mac
svn path=/trunk/boinc/; revision=17408
2009-02-27 11:20:08 +00:00
Charlie Fenton fd1e7b33ca screensaver: Code consolidation, fix bug terminating default graphics app on screensaver exit
svn path=/trunk/boinc/; revision=17339
2009-02-23 23:06:03 +00:00
Rom Walton b402864705 - WINSCR: Fix the BOINC text displayed is the screensaver control
panel applet
    - WINSCR: Get rid of the 'Up to 5 second wait' for the data thread
        to terminate.  Force terminate the thread and clean up the
        graphics app in a clean-up routine.  Forcing the user to wait
        when they return to the system isn't a good idea.
    - WINSCR: Fix screensaver issue where the screensaver locks up
        when the graphics application deadlocks for one reason or
        another.
        
        Create two new threads:
          1. Monitor system for keyboard and mouse events.
          2. Shuffle window z-order positions if needed.
          
        The keyboard/mouse event monitor is isolated from either
          the core client getting stuck in a loop and not returning
          the results of an RPC or the window shuffling code which
          can get stuck if the graphics application dead locks.
          
        The window shuffle code is isolated due to the
          BroadcastSystemMessage() API using something akin to
          SendMessage() which waits for a return value from the
          target windows winproc.  If a graphics application
          deadlocks for one reason or another it'll cause
          the thread to stall.  This isn't terminal and so we
          just wait for the next time the data thread chooses
          a new application and terminates the old one which
          will cause the thread to resume.
          
        This should resolve all outstanding issues with the
          screensaver not exiting when the mouse or keyboard
          is used.
          
    clientscr/
        boinc_ss.rc
        screensaver.cpp
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=17336
2009-02-23 06:09:16 +00:00
Charlie Fenton b4c78c27b4 screensaver: Implement new screensaver coordinator logic as requested by Rom.
svn path=/trunk/boinc/; revision=17322
2009-02-20 11:49:49 +00:00
Charlie Fenton 0668305208 SS: On Windows, get paths to BOINC data and executable directories from Windows registry
svn path=/trunk/boinc/; revision=17256
2009-02-13 11:08:32 +00:00
Charlie Fenton 8b056b7845 SS: Fix new screensaver coordinator to work properly on Windows
svn path=/trunk/boinc/; revision=17193
2009-02-10 12:35:12 +00:00
Charlie Fenton 5d3ab73570 SS: Screensaver coordinator reads ss_config.xml file; if default ss ran during science phase, shorten next default phase
svn path=/trunk/boinc/; revision=17168
2009-02-06 11:17:13 +00:00
Charlie Fenton b3d6f09444 SS: Fix ss_app compile errors on Mac, continue work on screensaver coordinator
svn path=/trunk/boinc/; revision=17163
2009-02-06 02:17:45 +00:00
Charlie Fenton 2c89b4103e SS: Implement basic new functionality in screensaver coordinator (tested on Mac only so far)
svn path=/trunk/boinc/; revision=17146
2009-02-05 12:32:16 +00:00
Rom Walton 59d0152c9b - MGR: Provide a way to enable/disable launching from the BOINC Manager
at startup from within the BOINC Manager itself.
    - MGR: Add a command line argument which specifies that the Manager was
        launched by the OS.
    - SCR: Remove the code that checks for the BOINC Manager shortcuts.

    clientgui/
        AdvancedFrame.cpp
        BOINCGUIApp.cpp, .h
        DlgOptions.cpp, .h
        boinc_ss.h
        boinc_ss.rc
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=16406
2008-11-04 09:33:03 +00:00
Rom Walton 8b5adc903a - WINSCR: Certain checks should be done regularly like keyboard/mouse
activity and the notification window check. They should not depend
        on whether or not the graphics window has been displayed or not.
        
    clientscr/
        screensaver.cpp
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=15840
2008-08-14 19:09:01 +00:00
Rom Walton 5d915bf830 - Update copyright strings in various Windows resource files.
client/win/
        boinc_cli.rc
        boinc_cli_2003.rc
        boinc_cmd.rc
    clientgui/
        BOINCGUIApp.rc
        BOINCGUIApp_2003.rc
    clientlib/win/
        boinc_dll.rc
        boinc_dll_2003.rc
    clientscr/
        boinc_ss.rc
        boinc_ss_2003.rc
    clienttray/
        boinc_tray.rc

svn path=/trunk/boinc/; revision=15827
2008-08-13 20:44:08 +00:00
Charlie Fenton 167da5c015 API: Add executing_as_daemon bool to get_state rpc. SCR: When running V5 GFX applications as a service / daemon, display appropriate error message instead of trying to display graphics.
svn path=/trunk/boinc/; revision=14641
2008-01-30 02:47:06 +00:00
Charlie Fenton 50e5c47a04 Fix Windows thread termination and cleanup.
svn path=/trunk/boinc/; revision=13803
2007-10-09 10:01:27 +00:00
Charlie Fenton 0a19f38786 V6 SCR: Merge code for Mac and Windows screensavers, adding full functionality for Windows SS.
svn path=/trunk/boinc/; revision=13781
2007-10-05 13:28:11 +00:00
Kevin Reed 5bc8553a3a - Screen Saver (merge from 5.10): Add additional information about the work
running when no graphics are available.  Increased the size to the box 
            displaying the message to accommodate larger image sizes.  Add code to 
            center images if less then the allowed max size of 450x166
    - Screen Saver (merge from 5.10):  If graphics are not available, then rotate
            through the currently running results (it will change every 10 seconds) 
            for display so that all are presented
    - Manager (merge from 5.10): During an auto-attach initiated by a project_init.xml file, Mozilla 
            based browsers are checking cookies in the domain  (ex: worldcommunitygrid.org) 
            for a project while IE cookies were only being checked for the full project 
            dns (www.worldcommunitygrid.org).  IE has been changed so that it will also 
            check the domain.  This mechanism is generic and can be used by any project or 
            account manager.
    - Manager (merge from 5.10): During an auto-attach initiated by a project_init.xml file, 
            the code to check for the Setup cookie within an IE browser would fail and cause 
            the attach to project dialogue to close with no warning in the event that there 
            is a cookie set for the project but there is not a Setup cookie.
    - WCG files:  Updated image, icon and installer files for WCG

svn path=/trunk/boinc/; revision=13755
2007-10-02 21:44:14 +00:00
Charlie Fenton e8a4acda63 V6 screensaver shows graphics for both V5 and V6 applications.
svn path=/trunk/boinc/; revision=13670
2007-09-26 10:17:43 +00:00
Rom Walton f841b17404 SCR: Enable V6 style applications, screensaver is no longer
compatible with v5 style graphics.
    
    clientscr/
        screensaver.cpp, .h
        screensaver_win.cpp, .h

svn path=/trunk/boinc/; revision=13318
2007-08-14 17:23:30 +00:00
Rom Walton 3986e47fa9 - SCR: Move screensaver related files out of the CC directory
structure and put it into its own directory structure.
        
    client/win/
        boinc.scr.manifest (deleted)
        boinc_ss.h (deleted)
        boinc_ss.rc (deleted)
        boinc_ss_2003.rc (deleted)
        win_screensaver.cpp, .h (deleted)
    clientscr/
        boinc.scr.manifest (added)
        boinc_ss.h (added)
        boinc_ss.rc (added)
        boinc_ss_2003.rc (added)
        win_screensaver.cpp, .h (added)

svn path=/trunk/boinc/; revision=13308
2007-08-13 19:57:18 +00:00