@@ -96,9 +96,9 @@ WApplication::WApplication(const WEnvironment& env
9696 eventSignalPool_ (new boost ::pool < > (sizeof (EventSignal < > ))),
9797#endif // WT_CNOR
9898 javaScriptClass_ ("Wt" ),
99- dialogCover_ (0 ),
10099 quited_ (false),
101100 internalPathsEnabled_ (false),
101+ exposedOnly_ (0 ),
102102 loadingIndicator_ (0 ),
103103 connected_ (true),
104104 bodyHtmlClassChanged_ (true),
@@ -370,7 +370,6 @@ std::string WApplication::onePixelGifUrl()
370370WApplication ::~WApplication ()
371371{
372372 timerRoot_ = 0 ; // marker for being deleted
373- dialogCover_ = 0 ;
374373
375374 delete domRoot_ ;
376375 domRoot_ = 0 ;
@@ -471,32 +470,15 @@ void WApplication::bindWidget(WWidget *widget, const std::string& domId)
471470 domRoot2_ -> addWidget (widget );
472471}
473472
474- WContainerWidget * WApplication ::dialogCover (bool create )
475- {
476- if (dialogCover_ == 0 && create && timerRoot_ ) {
477- dialogCover_ = new WContainerWidget (domRoot_ );
478- theme ()-> apply (domRoot_ , dialogCover_ , DialogCoverRole );
479- dialogCover_ -> hide ();
480- }
481-
482- return dialogCover_ ;
483- }
484-
485473void WApplication ::pushExposedConstraint (WWidget * w )
486474{
487- exposedOnly_ . push_back ( w ) ;
475+ exposedOnly_ = w ;
488476}
489477
490478void WApplication ::popExposedConstraint (WWidget * w )
491479{
492- for (unsigned i = exposedOnly_ .size (); i > 0 ; -- i ) {
493- unsigned j = i - 1 ;
494- if (exposedOnly_ [j ] == w ) {
495- while (exposedOnly_ .size () > j )
496- exposedOnly_ .pop_back ();
497- break ;
498- }
499- }
480+ assert (exposedOnly_ == w );
481+ exposedOnly_ = 0 ;
500482}
501483
502484void WApplication ::addGlobalWidget (WWidget * w )
@@ -523,20 +505,9 @@ bool WApplication::isExposed(WWidget *w) const
523505 if (w -> parent () == timerRoot_ )
524506 return true;
525507
526- if (!exposedOnly_ .empty ()) {
527- WWidget * top = exposedOnly_ .back ();
528-
529- if (top -> isExposed (w ))
530- return true;
531-
532- for (WWidget * p = w -> parent (); p ; p = p -> parent ()) {
533- if (p == domRoot_ )
534- return w != root ();
535- w = p ;
536- }
537-
538- return false;
539- } else {
508+ if (exposedOnly_ )
509+ return exposedOnly_ -> isExposed (w );
510+ else {
540511 WWidget * p = w -> adam ();
541512 return (p == domRoot_ || p == domRoot2_ );
542513 }
0 commit comments