I can reproduce the problem, on windows.
In fact ìn the code of gglocator
x <- x[grep("panel-", grid.ls(print = message)[[1]])]
The grep don't find any grob which contain 'panel-'.
When I remove the -
x[grep("panel", grid.ls(print = message)[[1]])]
[1] "panel.3-4-3-4" "panel.background.rect.5210" "panel.grid.minor.y.polyline.5212" "panel.grid.minor.x.polyline.5214"
[5] "panel.grid.major.y.polyline.5216" "panel.grid.major.x.polyline.5218" "panel.border.zeroGrob.5207"
For me no reason that this works on linux.