'I didn't feel they were particularly receptive to a female coming in with a great script idea.'

Ahead of her appearance at Ottawa Comiccon 2017, Gates McFadden told CBC Radio about the challenges she faced on set of Star Trek: The Next Generation. (Photo courtesy Ottawa Comiccon)

She could find her way out of a time loop, take on intergalactic terrorists, face a vortex or a court-martial, and even when half-buried under rock could tell Captain Jean-Luc Picard how to make a clotting agent out of roots.

There wasn't much that medical officer Dr. Beverly Crusher on the Starship Enterprise couldn't do for seven seasons of the TV show Star Trek:The Next Generation. And Gates McFadden, the actor playing her, says it was a blast.

McFadden is in town for Ottawa ComicCon and meeting Star Trek fans over the weekend.

But she said for all Dr. Crusher was allowed to do, there was one thing McFadden never felt completely empowered to do in the late 80s and early 90s: bring up ideas for scripts.

Ideas ignored by show

"I was always someone who was filled with ideas", she said.

"I didn't feel they were particularly receptive to a female coming in with a great script idea. A woman can't just walk into the producer's office, and throw her feet up on the couch, and say, 'Hey, let's hang. How about this?' Maybe you can now, but you sure couldn't then."

McFadden remembers when she had wanted Star Trek creator Gene Roddenberry to explore how society would deal with the needs of the aged in the show when life spans are doubled.

"My first two months on the show, I brought the book Awakenings to Gene. I had always loved Oliver Sachs' work. I had wanted my character to be a neurologist," she recalled. "And I gave Gene the book and … nothing happened."

Shortly thereafter, Awakenings was turned into an Oscar-winning film.

'I think that totally contributed to me being let go the second season.'- Gates McFadden

McFadden was not afraid, however, to speak her mind at the time.

In a 1990 article, while Star Trek: TNG was still on the air, she was quoted as saying, "As a mother [to the Wesley Crusher character], I also should be the mentor to my son. But it's the men who have the scenes of giving him strong, courageous advice. I've felt that was a cop-out."

McFadden said she thinks speaking out like that miffed the producers.

"I think that totally contributed to me being let go the second season. But I was from a background where you were encouraged to speak up. It wasn't about criticizing something. You're passionate about it. But I lacked an awareness about how it could come off. It could be threatening to someone."

Star replaced by other actress

For the second season of Star Trek: TNG, Crusher was replaced by another doctor, Katherine Pulaski, played by Diana Muldaur. McFadden returned the small screen as Dr. Crusher for the third season after fans launched a letter-writing campaign.

But it didn't end some of the frustrations with the scripts. McFadden was always trying to find ways of adding humour and physical comedy to the role.

Sometimes those attempts were successful — like this scene from the episode Data's Day.

But sometimes directors cut those attempts at humour, as well as attempts McFadden and co-star Patrick Stewart (Captain Picard) would make to advance their characters' romantic relationship. "We'd add a little sexual tension, and they'd edit it out," she said.

McFadden's co-stars Marina Sirtis (Troi) and Jonathan Frakes (Riker) shared similar experiences when they were both in Ottawa for ComicCon in 2015. They told CBC Radio's Alan Neal the writers had ignored both the Crusher/Picard relationship, as well as their own relationship.

"But we didn't let it die," Sirtis said at the time, adding that she and Frakes would frequently add meaningful looks that weren't part of the writers' or directors' plans. "A lot of it ended up on the cutting room floor but some of it, they couldn't, you know?"

McFadden said fans always want to know if Captain Picard could have been Wesley's father. "I think it would've been cool … it stayed very vague. I made a choice that Picard wasn't but he could have been. There had been opportunities, that Picard and I had been involved on some level. But who knows? It was a great relationship and I loved the fact it was so ambiguous."

McFadden said the characters were also always evolving, as actors never knew their story arcs for an entire season, so they would learn things on a script-by-script basis.

'You make choices as an actor, then you get a script and you say, 'Wait a minute. You mean my grandmother was in love with a lamp?'"

"And you say, 'What? How do I work that in?' And you have to let it go, and say, "I'm just going to have fun with this.'"

McFadden participated in a Q & A at Ottawa ComicCon on Friday and is a featured guest through Sunday.

Stay Connected with CBC News

Weather

Expression centre.currentConditions.temperature is undefined on line 22, column 22 in EnvironmentCanada/weatherSlice.tpl.
The problematic instruction:
----------
==> if centre.currentConditions.temperature.celsius!="" [on line 22, column 17 in EnvironmentCanada/weatherSlice.tpl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression centre.currentConditions.temperature is undefined on line 22, column 22 in EnvironmentCanada/weatherSlice.tpl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.ComparisonExpression.isTrue(ComparisonExpression.java:111)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:77)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:232)
at ca.cbc.weather.util.Templator.generate(Templator.java:142)
at ca.cbc.weather.digest.ECFeedParser.execute(ECFeedParser.java:94)
at ca.cbc.weather.daemon.EnvCanJob.execute(EnvCanJob.java:48)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)