рд╡рд┐рднрд┐рдиреНрди рдЦреБрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдмрд╛рд░-рдмрд╛рд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЙрдкрдХрд░рдг рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЪреМрдХрд╕ рд╣реИ рдФрд░ рдХрднреА рдердХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рднреА рдЦрд┐рд╕рдХ рдЬрд╛рддреА рд╣реИрдВред рдРрд╕реЗ рд╣реА рдПрдХ рдЕрдиреНрдп рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдПрдХ
рд╕рдорд╛рди рдиреЛрдЯ рд▓рд┐рдЦрд╛ рдерд╛, StarEngine: 2D рдЧреЗрдо рдЗрдВрдЬрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрдм рдХреНрдпреВрдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рддреНрдпрд╛рдкрди рдХреЗ рджреМрд░рд╛рди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдореБрдЭ рдкрд░ рдЕрдкрдиреА рд╢реНрд░реЗрд╖реНрдарддрд╛ рджрд┐рдЦрд╛рдИ рд╣реИред
рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╣рдордиреЗ 2014 рдореЗрдВ рдХреНрдпреВрдЯреА рдврд╛рдВрдЪреЗ рдХрд╛
рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛ ред рдмрд╣реБрдд рд╕рдордп рдмреАрдд рдЧрдпрд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрджрд▓ рдЧрдИ рдФрд░ рдХрдИ рдирдП рдирд┐рджрд╛рди рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдФрд░ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦрддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдЖрдпрд╛:
QWindowsCursor::CursorState QWindowsCursor::cursorState() { enum { cursorShowing = 0x1, cursorSuppressed = 0x2 }; CURSORINFO cursorInfo; cursorInfo.cbSize = sizeof(CURSORINFO); if (GetCursorInfo(&cursorInfo)) { if (cursorInfo.flags & CursorShowing)
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдиреЗ рдЗрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА:
V616 CWE-480 'CursorShowing' рдХрд╛ рдирд╛рдо 0 рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред qwindowscursor.cpp 669
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдПрдХ рдЕрд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд▓рдбрд╝рдЦрдбрд╝рд╛ рдЧрдпрд╛ред "рдУрд╣, рдХреБрдЫ рд╣рдордиреЗ рдЕрдирд╛рдо рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдореЗрдВ рддреЛрдбрд╝ рджрд┐рдпрд╛," рдореИрдВрдиреЗ рдЭрд┐рдбрд╝рдХ рджрд┐рдпрд╛, рдФрд░ рдмрдЧрдЯреНрд░реИрдХрд░ рдХреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдПрдХ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ред
рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдерд╛ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЧрд▓рдд рдерд╛ред рд╕рдм рдХреЗ рдмрд╛рдж, рдКрдкрд░ рдХреБрдЫ рд╣реА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐
CursorShowing рдирд┐рд░рдВрддрд░ 1 рд╣реИред
рдЙрд╕реА рд╕рдордп, рдореИрдВрдиреЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА! рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдИ рдмрд╛рд░ рджреЗрдЦрд╛ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЧрд▓рдд рд╣реИред рдореИрдВрдиреЗ рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢ рдХреЛ рдмрдЧрдЯреНрд░реИрдХрд░ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХреЛрдб рдХреЗ рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдЯреБрдХрдбрд╝реЗ рдХреА рдЧрд╣рди рд╕рдореАрдХреНрд╖рд╛ рдХреА рдФрд░ рд╡реИрд╕реЗ рднреА рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рд╣реА рд╣реИ, рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВред
рд╕реНрдерд┐рддрд┐ рдХреЗ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдирд╛рдорд┐рдд
рдХрд░реНрд╕рд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ
рдКрдкрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдФрд░
CursorShowing рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░ рдореЗрдВ рд╣реИ! рдПрдХ рдЬрдЧрд╣ рдпрд╣ рд▓реЛрдЕрд░рдХреЗрд╕ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рд░рд╛рдЬрдзрд╛рдиреА рдореЗрдВред
рдХреЛрдб рдХреНрдпреЛрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐
CursorShowing рд╕реНрдерд┐рд░рд╛рдВрдХ рднреА рдореМрдЬреВрдж рд╣реИред рдпрд╣рд╛рдБ рдЙрд╕рдХреА рдШреЛрд╖рдгрд╛ рд╣реИ:
class QWindowsCursor : public QPlatformCursor { public: enum CursorState { CursorShowing, CursorHidden, CursorSuppressed }; .... }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
CursorShowing рд╕реНрдерд┐рд░рд╛рдВрдХ 0. рд╣реИред рдЗрд╕рд▓рд┐рдП, PVS-Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИ рдХрд┐ рд╕реНрдерд┐рддрд┐
(рдХрд░реНрд╕рд░Info.flags рдФрд░ CursorShowing) рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рдд рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реИред
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдПрдХ рдЕрджреНрднреБрдд рдЯрд╛рдЗрдкреЛ рдорд┐рд▓рд╛ред рдкреНрд░реЗрдо рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг! :)

рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдВрдбреНрд░реЗ рдХрд╛рд░рдкреЛрд╡ред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЪреМрдХрд╕ рд╕рд╛рдмрд┐рдд рд╣реБрдП рд╣реИрдВ ред