else
{
printf("sending event to parent");
return alarmScreen::eventFilter( obj, ev );
}
I think what you meant here is to call the alarmScreen's parent class, in case it has reimplemented the eventFilter, if this is the case you should change
return alarmScreen::eventFilter( obj, ev ); to
return <alarmScreenParent>::eventFilter( obj, ev );

Otherwise as I said, you have a recursive call here.