FLTK logo

STR #3033

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]
 

Return to Bugs & Features | Roadmap 1.3 | SVN ⇄ GIT ]

STR #3033

Application:FLTK Library
Status:1 - Closed w/Resolution
Priority:2 - Low, e.g. a documentation error or undocumented side-effect
Scope:2 - Specific to an operating system
Subsystem:Core Library
Summary:GetVersionEx deprecated
Version:1.3-current
Created By:AnyCPU
Assigned To:AlbrechtS
Fix Version:1.3.3 (SVN: v10196)
Update Notification:

Receive EMails Don't Receive EMails

Trouble Report Files:

No files


Trouble Report Comments:


Name/Time/Date Text  
 
#1 AnyCPU
13:32 Jan 25, 2014
MSDN: GetVersionEx may be altered or unavailable for releases after Windows 8.1. Instead, use the Version Helper APIs.

Also VerifyVersionInfo can be used as hackish workaround.
 
 
#2 greg.ercolano
10:12 Jan 26, 2014
Seems they want us to use the newer IsWindowsVersionOrGreater(),
but this function is only available in Win2k Pro and up.
http://msdn.microsoft.com/en-us/library/windows/desktop/dn424964%28v=vs.85%29.aspx
"""
Minimum supported client -- Windows 2000 Professional [desktop apps only]
"""

I know we can still run on Windows NT (last I looked about a year or so ago),
and although our code mentions win98, not sure if we still support that, but
if so, we may have to.

Perhaps we can avoid the call to GetVersionEx() completely
by simply defining and using our own "hand" cursor icon?

The code in question:

"""
   case FL_CURSOR_HAND: {
          OSVERSIONINFO osvi;
          // Get the OS version: Windows 98 and 2000 have a standard
          // hand cursor.
          memset(&osvi, 0, sizeof(OSVERSIONINFO));
          osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
          GetVersionEx(&osvi);
          if (osvi.dwMajorVersion > 4 ||
              (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion > 0 &&
               osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)) n = IDC_HAND;
          else n = IDC_UPARROW;
        } break;
"""
 
 
#3 AnyCPU
13:19 Jan 26, 2014
I think yes, since FLTK is custom drawing UI, so, if it possible, an open source "hand icon" with compatible licence can be used.  
 
#4 ianmacarthur
15:29 Sep 04, 2014
I doubt Win98 is really an option now - UTF8 and all that...

So if we need to switch to Win2K or later API's, I'd think that would be OK?
 
 
#5 AlbrechtS
05:59 Sep 06, 2014
I wouldn't mind raising the Windows OS requirements to Windows 2000 and later.

That said, now that we have all this new cursor stuff, wouldn't it be easy to use a built-in cursor image? As AnyCPU suggested, there's maybe an open source/open license image available.

Does someone know such an image with a compatible license that would fit (in style and such)?
 
 
#6 AnyCPU
10:23 Sep 09, 2014
I think google knows ;) First icons in google search come with CC Attribution licence. Some modifications can be applied quickly if needed.  
 
#7 AlbrechtS
17:17 Sep 01, 2016
Fixed in Subversion repository.

This issue has been fixed meanwhile in svn r10196 in an unrelated STR, see:
http://www.fltk.org/str.php?L2660 .

Date:   Mon Jun 16 11:17:57 2014 +0000

GetVersionEx is no longer used in FLTK.

Closing this STR now.
 
     

Return to Bugs & Features ]

 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.