diff options
author | Pavel Labath <pavelo@centrum.sk> | 2011-05-01 14:47:53 (GMT) |
---|---|---|
committer | Pavel Labath <pavelo@centrum.sk> | 2011-05-10 11:00:45 (GMT) |
commit | 4b47675441b76620519b0204497686b09113daaa (patch) | |
tree | c3494c61a82b84418761000d5fc7fc5d12188204 /src/WorkspaceCmd.cc | |
parent | fa15400cc24ddcfd6e361bd068ae1986b9f9e561 (diff) | |
download | fluxbox-4b47675441b76620519b0204497686b09113daaa.zip fluxbox-4b47675441b76620519b0204497686b09113daaa.tar.bz2 |
Make RefCount<> more sensible
the previous version of operator*() made no sense. E.g., it violated the invariant
(*ptr).foo <=> ptr->foo. The dereferencing operator now returns a reference to the pointed-to
object, rather than a pointer to it.
I also added a bool conversion operator, which can be used in testing the NULL-ness of the
pointer. Anyone wondering if that could be done in a simpler way is encouraged to read
<http://www.artima.com/cppsource/safebool.html>.
And, finally, I removed the mutable flag from the m_data member, since it does not need it.
Diffstat (limited to 'src/WorkspaceCmd.cc')
-rw-r--r-- | src/WorkspaceCmd.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/WorkspaceCmd.cc b/src/WorkspaceCmd.cc index ad88640..34c8f9a 100644 --- a/src/WorkspaceCmd.cc +++ b/src/WorkspaceCmd.cc | |||
@@ -90,7 +90,7 @@ void WindowListCmd::execute() { | |||
90 | WindowCmd<void>::setWindow((*it)->fbwindow()); | 90 | WindowCmd<void>::setWindow((*it)->fbwindow()); |
91 | else if (typeid(**it) == typeid(WinClient)) | 91 | else if (typeid(**it) == typeid(WinClient)) |
92 | WindowCmd<void>::setClient(dynamic_cast<WinClient *>(*it)); | 92 | WindowCmd<void>::setClient(dynamic_cast<WinClient *>(*it)); |
93 | if (!*m_filter || m_filter->execute()) | 93 | if (!m_filter || m_filter->execute()) |
94 | m_cmd->execute(); | 94 | m_cmd->execute(); |
95 | } | 95 | } |
96 | WindowCmd<void>::setClient(old); | 96 | WindowCmd<void>::setClient(old); |