Some Code:

```
Menu.Handle_MouseOvers(MousePosition); //Runs function below

void Handle_MouseOvers(Vector2<int> &MousePositions) ///Runs function below
{
    if (MenuButtons.size() > 0)
    MenuButtons[0].CheckContains(MousePositions);
}

void CheckContains(Vector2<int> &MousePositions)
{
    if (ButtonShape.GetShape() == "Rect" && ButtonShape.GetRect().Contains(MousePositions)) ///This doesn't run sometimes
    {
        MouseOver = true;
        std::cout << "MouseOver is true" << std::endl;
    }
    else{
        std::cout << "mouseOver is false" << std::endl;
        MouseOver = false;
    }
}

```

For some reason the ButtonShape.GetRect().Contains(MousePositions) only runs about 80% of the time. I have placed some couts inside the function, and when it fails, it does not run the function at all. I cannot figure out why it would work most of the time lol. Does anyone have any ideas? Any help would be greatly appreciated. 

adding this as edit;

```
bool Contains(Vector2<int> &MousePosition)
{
    std::cout << MousePosition.x << " " << MousePosition.y << std::endl;
    if (MousePosition.x >= x && MousePosition.x <= x + Width && MousePosition.y >= y && MousePosition.y <= y + Height)
        return true;
    else
        return false;
}

```