"Public members Fl::awake_ring_*_ should be private" (#559) - cont'd
This commit is contained in:
parent
e72fa007e7
commit
df059de37e
2
FL/Fl.H
2
FL/Fl.H
@ -135,6 +135,7 @@ typedef void (*Fl_Clipboard_Notify_Handler)(int source, void *data);
|
||||
state information and global methods for the current application.
|
||||
*/
|
||||
class FL_EXPORT Fl {
|
||||
friend Fl_System_Driver;
|
||||
Fl() {} // no constructor!
|
||||
|
||||
private:
|
||||
@ -310,7 +311,6 @@ private:
|
||||
static int awake_ring_head_;
|
||||
static int awake_ring_tail_;
|
||||
public:
|
||||
static bool equal_awake_ring_ends();
|
||||
static const char* scheme_;
|
||||
static Fl_Image* scheme_bg_;
|
||||
|
||||
|
@ -63,6 +63,7 @@ protected:
|
||||
// implement once for each platform
|
||||
static Fl_System_Driver *newSystemDriver();
|
||||
Fl_System_Driver();
|
||||
static bool awake_ring_empty();
|
||||
public:
|
||||
virtual ~Fl_System_Driver();
|
||||
static int command_key;
|
||||
|
@ -201,8 +201,11 @@ void Fl::unlock() {
|
||||
|
||||
#ifndef FL_DOXYGEN
|
||||
|
||||
bool Fl::equal_awake_ring_ends() {
|
||||
return awake_ring_head_ == Fl::awake_ring_tail_;
|
||||
bool Fl_System_Driver::awake_ring_empty() {
|
||||
Fl::system_driver()->lock_ring();
|
||||
bool retval = (Fl::awake_ring_head_ == Fl::awake_ring_tail_);
|
||||
Fl::system_driver()->unlock_ring();
|
||||
return retval;
|
||||
}
|
||||
|
||||
#endif // FL_DOXYGEN
|
||||
|
@ -491,7 +491,7 @@ double Fl_WinAPI_System_Driver::wait(double time_to_wait) {
|
||||
DispatchMessageW(&fl_msg);
|
||||
}
|
||||
|
||||
// The following conditional test: !Fl::equal_awake_ring_ends()
|
||||
// The following conditional test: !Fl_System_Driver::awake_ring_empty()
|
||||
// equivalent to:
|
||||
// (Fl::awake_ring_head_ != Fl::awake_ring_tail_)
|
||||
// is a workaround / fix for STR #3143. This works, but a better solution
|
||||
@ -512,7 +512,7 @@ double Fl_WinAPI_System_Driver::wait(double time_to_wait) {
|
||||
// recover and process any pending awake callbacks.
|
||||
// Normally the ring buffer head and tail indices will match and this
|
||||
// comparison will do nothing. Addresses STR #3143
|
||||
if (!Fl::equal_awake_ring_ends()) {
|
||||
if (!Fl_System_Driver::awake_ring_empty()) {
|
||||
process_awake_handler_requests();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user