Browse Source

Fehler behoben

Kolja Strohm 5 years ago
parent
commit
bb7adb884b
2 changed files with 10 additions and 8 deletions
  1. 2 1
      TextFeld.cpp
  2. 8 7
      Zeichnung.cpp

+ 2 - 1
TextFeld.cpp

@@ -307,7 +307,8 @@ void TextFeld::doMausEreignis( MausEreignis & me, bool userRet ) // Maus Ereigni
                 if( charEvent && s.interactParam )
                     charEvent( mausChar, s.interactParam, me );
             }
-            me.verarbeitet = 1;
+            if( charEvent )
+                me.verarbeitet = 1;
         }
         mausKlick = 0;
         return;

+ 8 - 7
Zeichnung.cpp

@@ -159,7 +159,8 @@ void Zeichnung::doPublicMausEreignis( MausEreignis & me ) // ruft Mak auf
     bool lock = hatStyle( Style::MELockZeichnung );
     if( lock )
         lockZeichnung();
-    if( !me.insideParent || me.verarbeitet || !istPunktInnen( me.mx, me.my ) )
+    bool inside = istPunktInnen( me.mx, me.my );
+    if( !me.insideParent || me.verarbeitet || !inside )
     {
         if( mausIn )
         {
@@ -176,18 +177,18 @@ void Zeichnung::doPublicMausEreignis( MausEreignis & me ) // ruft Mak auf
             doMausEreignis( me2, userRet );
         }
     }
-    if( !istPunktInnen( me.mx, me.my ) && me.id == ME_PLinks )
+    if( !inside && me.id == ME_PLinks )
         removeStyle( Style::Fokus );
-    if( ( me.verarbeitet && hatStyleNicht( Style::MEIgnoreVerarbeitet ) ) || ( !istPunktInnen( me.mx, me.my ) && hatStyleNicht( Style::MEIgnoreInside ) ) ||
+    if( ( me.verarbeitet && hatStyleNicht( Style::MEIgnoreVerarbeitet ) ) || ( !inside && hatStyleNicht( Style::MEIgnoreInside ) ) ||
         ( hatStyleNicht( Style::Sichtbar ) && hatStyleNicht( Style::MEIgnoreSichtbar ) ) )
     {
         if( lock )
             unlockZeichnung();
         return;
     }
-    if( istPunktInnen( me.mx, me.my ) && me.id == ME_PLinks )
+    if( inside && me.id == ME_PLinks )
         addStyle( Style::Fokus );
-    if( me.insideParent && !mausIn && me.id != ME_Leaves && istPunktInnen( me.mx, me.my ) && !me.verarbeitet && hatStyle( Style::Sichtbar ) )
+    if( me.insideParent && !mausIn && me.id != ME_Leaves && inside && !me.verarbeitet && hatStyle( Style::Sichtbar ) )
     {
         mausIn = 1;
         if( toolTip )
@@ -207,10 +208,10 @@ void Zeichnung::doPublicMausEreignis( MausEreignis & me ) // ruft Mak auf
     me.mx -= pos.x, me.my -= pos.y;
     if( me.insideParent || hatStyle( Style::MEIgnoreParentInside ) )
     {
-        bool userRet = hatStyleNicht( Style::Erlaubt ) || ( mak && mak( makParam, this, me ) );
+        bool userRet = !me.insideParent || hatStyleNicht( Style::Erlaubt ) || ( inside && mak && mak( makParam, this, me ) );
         bool vera = me.verarbeitet;
         doMausEreignis( me, userRet );
-        if( nMak && me.verarbeitet && !vera && hatStyle( Style::Erlaubt ) )
+        if( nMak && me.verarbeitet && !vera && hatStyle( Style::Erlaubt ) && me.insideParent && inside )
             me.verarbeitet = nMak( nmakParam, this, me );
     }
     me.mx = old.x, me.my = old.y;