if statement inside while loop

This is the slave code now, but when i reaceive 255 on x (x = Wire.read() ) it doesnt light up the led. In the master code i only send one potentiometer value for testing, how come the led doesnt light up if im not mistaken my statements are right.

int LED = 46;

#include <Wire.h>

void setup() {
  Wire.begin(8);                // join i2c bus with address #8
  Wire.onReceive(receiveEvent); // register event
  Serial.begin(9600);           // start serial for output
pinMode(LED, OUTPUT);
}

void loop() {
  delay(100);

}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany) {
  while (1 < Wire.available()) { // loop through all but the last
    char c = Wire.read(); // receive byte as a character
    Serial.print(c);         // print the character
  }
  int x = Wire.read();    // receive byte as an integer
  Serial.println(x);         // print the integer
 if  (Wire.read() == 255) {

   digitalWrite(LED, HIGH);
}

  
}