Event-based timer interrupts

I kinda fixed it, but it isn't exactly what I wanted.

I wrote new function inside OpenDeck.cpp:

boolean OpenDeckRewrite::getBlinkState() {

if (blinkLedOn[0] || blinkLedOn[1]) return true;
else return false;

}

blink function is modified a bit:

void OpenDeckRewrite::blinkLED(int blinkLED_1, int blinkLED_2)  {

    int arrayOfBlinkLeds[NUMBER_OF_BLINK_LEDS] = {blinkLED_1, blinkLED_2};
    static boolean intState = false;
    intState = !intState;

    for (int i=0; i<NUMBER_OF_BLINK_LEDS; i++) {

    if (blinkLedOn[i]) {
    //if the LED is off turn it on and vice-versa
    ledState[arrayOfBlinkLeds[i]] = intState;

    }
        else ledState[arrayOfBlinkLeds[i]] = false;
  }
  writeLEDs();
}

And finally, the interrupt function:

ISR(TIMER1_COMPA_vect)
{
      if (openDeck.getBlinkState()) 
        openDeck.blinkLED(BLINK_LED_1, BLINK_LED_2);
}

What I actually wanted was not to call interrupt function at all until one of the blink LEDs is set on.